使用jenkins搭建以及部署go环境-单机版本
jenkins环境安装
docker-compose如下
version: '3'
######## 项目依赖的环境,启动项目之前要先启动此环境 #######
######## The environment that the project depends on, starting this environment before starting the project #######
services:
jenkins:
image: jenkinsci/blueocean
container_name: jenkins
user: root
volumes:
- ./data/jenkins:/var/jenkins_home
- ./var/run/docker.sock:/var/run/docker.sock
environment:
JENKINS_HOST_HOME: "/data/jenkins"
ports:
- "8080:8080"
- "5000:5000"
- "50000:50000"
Publish over SSH 配置SSH服务器
sh文件内容
testjenkins.sh
#!/bin/bash
echo "----------------------开始执行前置环境-----------------------"
echo ""
date_time=`date +%Y%m%d\-%H%M%S`
#Create GOPATH
export GOROOT=/home/fred/soft/go
export GOPATH=/home/fred/workspace
export PATH=$GOPATH:$PATH
export GO111MODULE=on
export GOPROXY=https://goproxy.cn,https://goproxy.io,direct
export ENV=test
#Print Go version
echo "Print Go version"
/home/fred/soft/go/bin/go version
echo "..."
echo "当前GOPATH是:" $GOPATH
echo "当前GOROOT是:" $GOROOT
echo "当前环境是:" $ENV
echo "----------------------结束执行前置环境-----------------------"
echo ""
echo "开始执行sh..."
sh common/script/testrun.sh
testrun.sh
#!/bin/bash
echo "脚本开始执行..."
# 拉代码
echo "----------------------------------start git pull---------------------------------------"
cd /home/fred/workspace/src/fudai-admin
git checkout test
git pull
echo "----------------------------------end git pull-----------------------------------------"
echo ""
echo "------------------------------start build project--------------------------------------"
/home/fred/soft/go/bin/go build -o fudai-admin-test -ldflags "-X main.ConfigFileAll=./common/etc/config-test.yaml -X main.UpdateModelAll=1.0"
NAME="fudai-admin-test"
PROCESS="./fudai-admin-test"
LOG="./fudai-admin-test-run.log"
echo $NAME
echo "-------------------------------end build project----------------------------------------"
echo ""
ID=`ps -ef | grep "$NAME" | grep -v "grep" | awk '{print $2}'`
if [ -z "$ID" ];then
echo "process id is empty, process is not existed..."
echo "process will start..."
# nohup $PROCESS >$LOG 2>&1 &
# nohup $PROCESS >$LOG 2>&1 &
sudo supervisorctl restart fudai-admin
echo "process has start..."
else
echo "-------------------------------start killed project-------------------------------------"
echo $ID
for id in $ID
do
sudo kill -9 $id
echo "killed $id"
echo "-------------------------------end killed project---------------------------------------"
echo ""
done
# nohup $PROCESS >$LOG 2>&1 &
# nohup /home/fred/workspace/src/fudai-admin/fudai-admin-test > /home/fred/workspace/src/fudai-admin/fudai-admin-test.log 2>&1 &
echo "----------------------start restart supervisor fudai-admin-----------------------------"
sudo supervisorctl restart fudai-admin
echo "process has restart..."
echo "-----------------------end restart supervisor fudai-admin-------------------------------"
echo ""
fi
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: