go jenkins自动编译部署

  • jenkins安装
  • jenkins配置
  • go插件安装
  • 编译配置
  • 参考文档

jenkins安装

安装包下载位置,可以直接安装对应系统安装包,也可以使用通用安装包.war文件,这里使用war包安装。

  • 单独运行

Jenkins可以作为一个独立的应用程序在其自己的流程中运行, 内置Java servlet 容器/应用程序服务器(Jetty)。

运行命令java -jar jenkins.war,浏览http://localhost:8080并等到Unlock Jenkins页面出现,默认8080端口,也可以指定端口–httpPort=9090。

  • Tomcat中运行

复制下载的Jenkis.war到Tomcat的webapps文件夹中文件夹中,Tomcat/bin运行 start.bat启动。打开链接http://localhost:8080/jenkins,Jenkins 将启动并To在mcat上运行。

jenkins配置

  • 用户管理

默认Jenkins全新安装会进入解锁页面,这时候需要从Jenkins控制台日志输出(如下)中,复制自动生成的字母数字密码,将此【密码】粘贴到管理员密码字段中,然后单击【继续】。

go jenkins自动编译部署_第1张图片

新用户的创建和管理在【系统管理-管理用户】页面。

  • 主目录配置

Jenkins需要一定的磁盘空间来进行构建和保持档案,可以通过环境变量JENKINS_HOME配置,可以通过【系统管理-系统设置-Home Directory】查看该路径,默认为 ~/.jenkins。

  • 访问URL

默认Jenkins URL指向本地主机:localhost,如果已为机器设置一个域名,如果希望发送邮件等操作时,生成的链接为当前域名方式,需要在【系统管理-系统设置-Jenkins Location】设置对应域名全称如http://myhost.com:8090/。

go插件安装

Jenkins安装插件套路都一样,【系统管理-插件管理】中安装插件,【系统管理-全局工具配置】中配置插件参数。

这里先在插件管理中搜索安装Go Plugin,然后进入工具配置中安装对应的Go 版本,可以选择自动安装选择从官方拉取安装,但是国内往往拉取失败,如下,可以去掉勾选手动安装后在这指定安装目录即可。

go jenkins自动编译部署_第2张图片

注意安装Go Plugin只是安装了Jenkins的操作部分,具体的执行编译器需要在工具配置另外安装,这种方式支持同时安装多个版本的Go,其他的编译插件也类似。

本次同样还需要安装Git plugin。

编译配置

点击新建任务后,进入项目配置页面,依次如下配置:

  • Source Code Management中配置需要拉取的Git项目位置和对应的分支

go jenkins自动编译部署_第3张图片

如上,这里需要指定访问对应的Git仓库的访问凭据,点击Add或在【系统管理-凭据-系统-全局配置】中新增凭据,常用两种方式

  1. Username with password

直接输入登录git 的用户名和密码。

  1. SSH Username with private key

go jenkins自动编译部署_第4张图片

在Git仓库 Setting中配置对应登录用户的公钥,将对应私钥匙填入这里的Enter Directly框中。

  • Build Environment中配置Go环境

go jenkins自动编译部署_第5张图片

如上,勾选Set up Go programming language tools,选择上一步安装配置的Go环境

  • Build配置

go jenkins自动编译部署_第6张图片

如上,添加一个Build Step-执行Shell,这里在项目中已经编写Makefile文件,可以直接调用make编译。

这里采用Go Modules管理项目,因此会自动拉取依赖,在编译前先设置GOPROXY环境变量来保证正常拉取所有依赖包。

编译完成的包需要推送到对应的机器上,这里使用rsync命令同步文件,文件同步完成后使用一个脚本来重启服务,至此整个自动编译部署启动流程完成。示例Shell如下:

pwd
export GOPROXY=https://goproxy.io
cd ./src && make

hosts="
host1.net
host2.net
"
deployPath="/home/mypath"

for host in $hosts
do
echo $host start
rsync -r -v -I --exclude=.* ./build.tar.bz2 sync360@$host:$deployPath
rsync -r -v -I --exclude=.* ./script/restart.sh sync360@$host:$deployPath/shells
ssh sync360@$host "/home/mypath/shells/restart.sh"
done

参考文档

具体安装示例可以参考快速教程

使用Docker来安装Jenkins,参考官方文档

更复杂的编译部署可以使用Jenkins的Pipeline

原创,转载请注明来自

  • 博客https://blog.csdn.net/wenzhou1219
  • 个人网站http://jimwen.net/

你可能感兴趣的:(Golang)