最简git服务器搭建步骤和自动化部署脚本

简介:

git是一个开源的版本管理软件,通过git可以方便地进行软件的协同开发、历史回溯等,下面是一个最简单的git服务器搭建和测试步骤,为了方便,后面还有一个一键自动化搭建的脚本。前提是对git有一定了解,并且已经安装好git。

一、最简git服务器搭建和测试

服务端搭建:

说明:搭建一个空的hello.git的远程仓库(ip:192.168.1.155)

1.添加git用户

sudo useradd -m git

sudo passwdgit

su git

2.进入/home/git并初始化空的仓库,结果如图1所示,创建了一个名为hello.git的代码仓库

cd /home/git

git init --bare hello.git

图1 hello.git代码仓库

客户端测试:

说明:初始化一个本地仓库,然后推送到服务端

1.新建一个hello的目录,并写一段helloworld的代码

2.在hello目录下创建一个git仓库,并提交一次

git init

git add --all

git commit

3.添加远程代码仓库

git remote add [email protected]:/home/git/hello.git

4.推送master分支到远程,执行结果如图2所示,服务端多了一个master分支

git push origin master

图2 客户端测试流程

5.到另外一个目录下克隆远程仓库

git [email protected]:/home/git/hello.git

二、最简git服务器自动化搭建脚本

说明:创建git仓库并搭建一个空的hello.git的远程仓库(ip:192.168.1.155)

脚本源码:

gitnew.sh:

#!/bin/sh

parmNum=$#

if [ $parmNum -eq 0 ];then

        echo "Run as:"

        echo "1.Create git account and repertory: ./gitnew.sh repertory"

        echo "2.Create git account only: ./gitnew.sh null"

        exit

fi

repertory=$1

echo "[$0]:Add git account:"

sudo useradd -m git

echo "[$0]:Passwd git account:"

sudo passwd git

if [ $repertory != "null" ];then

        cd /home/git

        repertory_git="$repertory.git"

        echo "[$0]:Create $repertory_git"

        sudo git init --bare $repertory_git

        sudo chown -R git:git $repertory_git

        cd -

fi

echo "[$0]:Enjoy"

运行结果:

脚本运行完成之后,如图3所示,创建好了一个hello.git的远程仓库,跟上面的一模一样。

图3 自动化脚本创建代码仓库

三、解决客户端推送和克隆要输入服务端git登录密码的问题

1.在服务端/home/git目录下新建一个.ssh目录

mkdir .ssh

2.在.ssh目录下新建一个authorized_keys文件

touch authorized_keys

3.把客户端的ssh公钥写到authorized_keys文件中,一行一个

echo **** >>authorized_keys

你可能感兴趣的:(最简git服务器搭建步骤和自动化部署脚本)