ubuntu使用scm-manager+java搭建git服务器并使用hook实现网站自动部署[ubuntu部署]
docker中安装scm-manager搭建git服务器,并实现网站自动部署
ubuntu使用scm-manager+java搭建git服务器并使用hook实现网站自动部署
window使用scm-manager+java搭建git服务器并使用hook实现网站自动部署
环境配置
工具安装
scm-manager
git
jdk
sudo apt-get install git
git安装完成后要设置下
git config --global user.email "735579768@qq.com" git config --global user.name "ubuntu" git config --add core.filemode false
最后一条命令是为啦忽略使用chmod命令修改文件权限对文件的改动
另外两个安装方法如下
安装java环境
下载linux 中的jdk包,弄清楚自己系统是32 64(为什么直接装jdk呢,因为我第一次只装啦jre但是启动scm-server的时候报错啦,具体看文章最下面截图)
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
下载后放到下载目录中,也可以放其它目录,然后解压压缩包到指定路径 /usr/lib/java,如果没有java目录的话可以用下面命令创建一个
sudo mkdir /usr/lib/java
如果使用ubuntu命令行的话可以使用下面命令下载,注意后面是从页面中复制出来的地址
wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" https://download.oracle.com/otn-pub/java/jdk/8u201-b09/42970487e3af4f5aa5bca3f542482c60/jdk-8u201-linux-x64.tar.gz
使用命令解压,注意如果下载的版本跟我的不一样自己修改下
sudo tar -xzvf /home/jdk-8u191-linux-x64.tar.gz -C /usr/lib/java
接下来需要使用vim或gedit来修改 /etc/profile 导出环境变量
sudo gedit /etc/profile
添加以下内容
export JAVA_HOME=/usr/lib/java/jdk1.8.0_191 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH
不要修改 /etc/environment 这个配置文件,否则导致开机登陆不了
设置jre的路径,方便其它软件能找到
sudo update-alternatives --install /usr/bin/java java /usr/lib/java/jdk1.8.0_191/bin/java 300 sudo update-alternatives --install /usr/bin/javac javac /usr/lib/java/jdk1.8.0_191/bin/javac 300
安装完成
如果你的系统中有多个版本的jre的话,可以用下面命令继续配置哪个版本的为默认的
sudo update-alternatives --config java
我的因为只有这一个所以显示如下
如果有多个版本的话就会显示如下所示
选择要使用的版本就可以啦
查看是否安装成功
java -version
scm-manager安装方法
查看地址 https://bitbucket.org/sdorra/scm-manager/wiki/RPM%20and%20DEB%20packages
# add the scm-manager repository echo "echo 'deb http://maven.scm-manager.org/nexus/content/repositories/releases ./' >> /etc/apt/sources.list" | sudo sh # install gpg key for the scm-manager repository sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 D742B261 # update sudo apt-get update # install scm-server sudo apt-get install scm-server
启动scm-server
sudo service scm-server start
如果没安装java的话会提示下面错误
另外如果只安装啦jre后会出现哪下提示,具体原因可能跟设置有关,也没时间搞清楚为 啥啦,直接装jdk
web部署
打开对应的git库的位置 /var/lib/scm/repositories/git/你的名字/hooks 添加 post-receive.sh 文件并写入下面内容
默认情况下路径下的 repositories 你是没有权限查看的,需要设置下权限
sudo chmod -R 777 /var/lib/scm/repositories
然后写push后要执行的命令
cd /var/www/你的web目录 git pull http://scmadmin:scmadmin@localhost:8080/scm/git/ank
配置已经完成啦,最后一步,提前使用 git clone 命令把git代码先下载到web目录里,这样以后只要代码push上来这个目录就会更新