在Ubuntu操作系统环境中git服务端安装部署一个gitweb服务,并简单的进行测试。目前,要说最简单的网页版本管理系统就是gitweb了。下面就是gitweb最简单的安装和测试步骤。
安装gitweb的前提 (1)、服务器上已经安装git。参考在Ubuntu 18.04系统下安装和初次使用Git一文。 (2)、服务器上已经安装Apache,并配置好CGI可用。 (3)、本文在前面2个条件满足下,安装部署gitweb服务就非常简单了。
1.安装gitweb程序 系统终端中运行命令: sudo apt-get install gitweb 安装完成后,会自动生成/etc/gitweb.conf和/etc/apache2/conf-available/gitweb.conf两个文件。
2.配置git服务端根目录 修改/etc/gitweb.conf 中的$projectroot 为: $projectroot = "/home/git" ;
3.启动gitweb服务 重启Apache服务器:sudo service apache2 restart
4.测试 (1)、按照下面的《最简git服务器搭建步骤和自动化脚本》新建一个空的git仓库/home/git/hello.git,并推送一次。 (2)、在客户端输入:http://192.168.1.155/gitweb/ 即可看到新建的项目。
附:最简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
上图是hello.git代码仓库。 客户端测试: 说明:初始化一个本地仓库,然后推送到服务端 1].新建一个hello的目录,并写一段helloworld的代码 2].在hello目录下创建一个git仓库,并提交一次 git init git add --all git commit 3].添加远程代码仓库 git remote add origingit@192.168.1.155:/home/git/hello.git 4].推送master分支到远程,执行结果如图2所示,服务端多了一个master分支 git push origin master
上图是客户端测试流程。 5].到另外一个目录下克隆远程仓库 git clonegit@192.168.1.155:/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的远程仓库,跟上面的一模一样。
上图是自动化脚本创建代码仓库。 三、解决客户端推送和克隆要输入服务端git登录密码的问题 1].在服务端/home/git目录下新建一个.ssh目录 mkdir .ssh 2].在.ssh目录下新建一个authorized_keys文件 touch authorized_keys 3].把客户端的ssh公钥写到authorized_keys文件中,一行一个 echo **** >>authorized_keys
相关主题 |