安装
gitlab配置
启动jenkins
nohup java -jar jenkins.war >out.log 2>&1 &
关闭sulinux,firewall
jenkins部署go脚本
source /etc/profile #这里需要安装golang并配置环境变量 -------------------------------------------------------- #这里是我自己的profile文件中golang的环境变量 export GO111MODULE=on export GOROOT=/usr/local/go export GOPATH=/home/gopath export PATH=$PATH:$GOROOT/bin:$GOPATH/bin export GOPROXY=https://goproxy.cn,direct -------------------------------------------------------- cd /edu/volumes/jenkins_home/workspace/edu #进入挂载的jenkins工作目录中找到部署的代码 rm -rf main #移除之前打包的可执行文件 go build main.go #打包命令 cp main /edu/build/ #复制打包文件到需要部署到的位置 cd /edu/build/ #进入需要部署的位置 sh build.sh #执行部署目录下的脚本文件 -------------------------------------------------------- #以下是build.sh文件的代码 #!/usr/bin/env bash go_id=`ps -ef|grep "./edu-app" |grep -v "grep" | awk '{print $2}'` if [ -z "$go_id" ]; then echo "[go pid not found]" else kill -9 $go_id echo "killed $go_id" fi echo "clean old file" rm -rf edu-app rm -rf edu-app.log if [ -f main ]; then echo "strat new process" mv main edu-app chmod -R 777 edu-app nohup ./edu-app >edu-app.log 2>&1 & else echo "edu-app file not found,qiut" fi -------------------------------------------------------- 这里要注意的是,脚本中把main文件名改为edu-app然后部署,然后每次部署之前先查找之前占用的端口并杀死这个进程,最后执行这一次的打包文件。
插件
远程部署
Gitlab Hook、Build Authorization Token Root、Publish Over SSH、Gitlab Authentication、Gitlab、Git Paramete
Publish Over SSH
delopy to cintain
ssh #执行远程脚本
gitlab #集成gitlab用
Build Authorization Token Root #构建授权token
Gitlab hook #钩子插件
配置仓库yum安装(推荐)
修改jenkins_home(由于默认位置空间不足)
添加环境变量方法: vi /etc/profile 在文件最后添加JENKINS_HOME: export JENKINS_HOME=/home/JenkinsWorkspace 使之立刻生效 source /etc/profile
修改国内镜像
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
推送触发与合并触发配置