Jenkins构建并部署一个go语言项目
Posted givenchy_yzl
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jenkins构建并部署一个go语言项目相关的知识,希望对你有一定的参考价值。
Jenkins安装
1、下载
安装java
[root@localhost ~]# yum install java-1.8.0-openjdk* -y
方式一:
#下载安装包
[root@localhost ~]# wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat-stable/jenkins-2.249.1-1.1.noarch.rpm
#安装Jenkins
[root@localhost ~]# yum install jenkins-2.249.1-1.1.noarch.rpm -y
#启动
[root@localhost ~]# systemctl start jenkins
方式二:
#下载Jenkins源
wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
安装认证Key
rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
安装JenKins
yum install jenkins
解锁Jenkins
[root@localhost ~]# cat /var/lib/jenkins/secrets/initialAdminPassword
5bbc1a542bd24ac9a7ae93e62ddbf8f2
浏览器打开Jenkins网站(JenkinsIP:8080)----->把得到的代码粘贴jenkins网站
jenkins 插件管理
将压缩包移入服务器
解压
tar -xf plugins.tar.gz
并将压缩包内所有插件移入/var/lib/jenkins/plugins
mv plugins/* /var/lib/jenkins/plugins
#切换至配置文件目录
cd /var/lib/jenkins/updates
#换源
sed -i ‘s/https://updates.jenkins.io/download/https://mirrors.tuna.tsinghua.edu.cn/jenkins/g’ default.json
sed -i ‘s/http://www.google.com/https://www.baidu.com/g’ default.json
加速插件下载速度
系统管理 -> 插件管理 -> 高级
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
配置Jenkins与gitlab免密登录
以上步骤保证jenkins服务器可以下载gitlab中的代码后,才可在jenkins中添加凭证
配置私钥登录
复制以上公钥,进入gitlab网站,点击右上角用户名-----》设置-----》ssh密钥-----》如下图添加即可
点击系统管理—>manage credentails—>jenkins—>全局凭据(unrestricted)---->添加凭据---->ssh username with private key----->描述随意,用户root,将jenkins的私钥粘贴进privatekey的输入框中---->点击确定
此时凭证就生成完毕
将git仓库url粘贴后,选择对应的凭证即可实现jenkins连接git仓库
构建一个go语言工程
新建任务—>输入任务名称—>点击构建一个自由项目—>点击确定保存
勾选参数化构建过程-----》选择git参数
设置完参数,进入源码管理---->点击Git---->如下图所示
在构建中---->点击增加构建步骤----->选择执行shell----->cmd中填入以下命令(如下图)
#!/bin/bash
#切换标签或分支
git checkout $GIT_TAG
#cd /var/lib/jenkins/workspace/sleep_golang1/
#删除旧的构建容器
docker rm -f sleep
#运行新的构建容器(因为我要部署的服务器跟构建服务器架构不一样,所以需要用到docker,若部署服务器与构建服务器架构一致,关于容器的操作可以省略,只运行下面进入容器后的命令即可)
docker run -it -d --name sleep -v /var/lib/jenkins/workspace/sleep_golang1:/mnt sleep:v1 bash
#进入容器构建应用
docker exec sleep bash -c "cd /mnt/ && source /etc/profile && go mod tidy && go mod download && chmod 777 /mnt/tools/linux-x64/upx && sh /mnt/build_arm_cmd.sh"
进入Jenkins首页----->系统管理---->系统设置----->Publish over SSH---->新增ssh-server---->按下图所填---->填写完成后---->test configuration---->返回success即为成功
返回到项目配置中----->构建后操作(如下图所示)
一切配置完,点击保存,点击参数化构建选择对应的分支或标签即可!
拓展部分
Java项目
针对Java项目,在配置好mvn版本后,仅更改执行shell中的内容即可,配置mvn版本有很多教程我这里就不赘述了。
c项目构建
以上是关于Jenkins构建并部署一个go语言项目的主要内容,如果未能解决你的问题,请参考以下文章
62-CICD持续集成工具-Jenkins构建Golang的web项目