一、服务器安装jenkins
1、docker拉取镜像
我这里安装的版本是2.222.3-centos
docker pull jenkins/jenkins:2.222.3-centos
2、挂载本地目录
我这里映射本地数据卷的路径为/data/jenkins_home/,你想放别的地方可以自行修改
mkdir /home/jenkins_home
需要修改下目录权限,因为当映射本地数据卷时,/data/jenkins_home/目录的拥有者为root用户,而容器中jenkins用户的 uid 为 1000。
chown -R 1000:1000 /home/jenkins_home/
3、创建容器
云服务器记得把端口号8050添加在安全组内
docker run -d --name jenkins -p 8050:8080 -p 50000:50000 -v /home/jenkins_home:/var/jenkins_home jenkins/jenkins:2.222.3-centos
-d 标识是让 docker 容器在后台运行
--name 定义一个容器的名字,如果没有指定,那么会自动生成一个随机数字符串当做UUID
-p 8050:8080 端口映射,我本地的8080被占用了,所以随便映射了一个8050
-p 50000:50000 端口映射
-v /home/jenkins_home:/var/jenkins_home 绑定一个数据卷,/home/jenkins_home是刚才创建的本地数据卷
4、配置 Jenkins
打开 Jenkins
通过浏览器访问 http://你的ip:8050/(注意替换成你自己的IP和端口)进入初始页,如果 Jenkins 还没有启动完成,会显示如下内容
输入管理员密码
这里要求输入初始的管理员密码,根据提示密码在/var/jenkins_home/secrets/initialAdminPassword这个文件中,注意这个路径是 Docker 容器中的,所以我们通过如下命令获取一下
docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword
85770376692448b7b6a8e301fb437848
别忘了我们映射了本地数据卷/home/jenkins_home/,所以也可以通过如下命令输出
cat /data/jenkins_home/secrets/initialAdminPassword
85770376692448b7b6a8e301fb437848
输入密码后,点击继续
安装插件
这里选择
安装推荐的插件
,然后 Jenkins 会自动开始安装,如果插件安装很慢,请参考 解决 Jenkins 安装插件很慢的问题 ( Linux )安装完成后会自动跳转到下一步
实例配置
注意IP地址和端口就行了
配置完成
二、服务器安装配置golang环境
1、下载golang安装包
Golang官网下载地址:https://golang.org/dl/
2、/usr/local下解压安装包
tar -zxvf 安装包
3、配置环境变量
vim /etc/profile
在最下面添加
export GO111MODULE=on
export GOROOT=/usr/local/go
export GOPATH=/home/gopath
export PATH=$PATH:$GOROOT/bin
export GOPROXY=https://goproxy.cn,direct
编译
source /etc/profile
输入
go version
若出现
则安装成功。
三、jenkins配置
1、安装Publish Over SSH插件
具体参考博客:https://www.jianshu.com/p/0d805ed204e6
2、新建一个任务
选第一个
创建成功
3、给该job配置环境
源码管理
添加项目地址和码云的账号与密码
构建触发器
gitee WebHook绑定至该项目仓库
构建
build.sh 是一个启动应用的脚本文件
部署流程
1、本地代码提交至gitee
2、代码被自动拉取到jenkins挂载目录下的/workspace
3、执行构建环境那一步中的 Exec command命令
至此上传代码至码云后将自动部署项目
参考资料
1、https://segon.cn/install-jenkins-using-docker.html
2、https://segon.cn/jenkins-installs-plugins-slowly.html
3、https://www.jianshu.com/p/0d805ed204e6
4、https://www.cnblogs.com/yechen2019/p/11529755.html
5、https://www.cnblogs.com/bbgs-xc/p/12926808.html
6、https://blog.csdn.net/guyan0319/article/details/89290416