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密钥-----》如下图添加即可
Jenkins构建并部署一个go语言项目_第1张图片
点击系统管理—>manage credentails—>jenkins—>全局凭据(unrestricted)---->添加凭据---->ssh username with private key----->描述随意,用户root,将jenkins的私钥粘贴进privatekey的输入框中---->点击确定
此时凭证就生成完毕

将git仓库url粘贴后,选择对应的凭证即可实现jenkins连接git仓库
Jenkins构建并部署一个go语言项目_第2张图片

构建一个go语言工程

新建任务—>输入任务名称—>点击构建一个自由项目—>点击确定保存
Jenkins构建并部署一个go语言项目_第3张图片
勾选参数化构建过程-----》选择git参数Jenkins构建并部署一个go语言项目_第4张图片
设置完参数,进入源码管理---->点击Git---->如下图所示
Jenkins构建并部署一个go语言项目_第5张图片
在构建中---->点击增加构建步骤----->选择执行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构建并部署一个go语言项目_第6张图片

进入Jenkins首页----->系统管理---->系统设置----->Publish over SSH---->新增ssh-server---->按下图所填---->填写完成后---->test configuration---->返回success即为成功
Jenkins构建并部署一个go语言项目_第7张图片

返回到项目配置中----->构建后操作(如下图所示)
Jenkins构建并部署一个go语言项目_第8张图片

一切配置完,点击保存,点击参数化构建选择对应的分支或标签即可!

拓展部分

Java项目

针对Java项目,在配置好mvn版本后,仅更改执行shell中的内容即可,配置mvn版本有很多教程我这里就不赘述了。
Jenkins构建并部署一个go语言项目_第9张图片
Jenkins构建并部署一个go语言项目_第10张图片

c项目构建

Jenkins构建并部署一个go语言项目_第11张图片

你可能感兴趣的:(DevOps,jenkins,golang,运维)