jenkins自动部署golang项目

一、服务器安装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绑定至该项目仓库

1
2
3

构建

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

你可能感兴趣的:(jenkins自动部署golang项目)