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项目构建

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
第01章 课程介绍 1-1 导学.mp4 1-2 课程介绍.mp4 第02章 实战-“云存储”系统原型 2-1 “云存储”系统原型之简单文件上传服务架构说明.mp4 2-2 编码实战:“云存储”系统之实现上传接口.mp4 2-3 编码实战:“云存储”系统之保存文件元信息.mp4 2-4 编码实战:“云存储‘系统之实现单个文件查询信息接口.mp4 2-5 编码实战:“云存储”系统之实现文件下载接口.mp4 2-6 编码实战:“云存储”系统之实现文件修改接口+小结.mp4 第03章 “云存储”系统之基于MySQL实现的文件数据库 3-1 MySQL基础知识.mp4 3-2 MySQL主从数据同步演示.mp4 3-3 文件表的设计及创建.mp4 3-4 编码实战:“云存储”系统之持久化元数据到文件表.mp4 3-5 编码实战:“云存储”系统之从文件表中获取元数据.mp4 3-6 Docker入门基础文档.mp4 3-6 本章小结.mp4 3-7 Ubuntu中通过Docker安装配置MySQL主从节点.mp4 第04章 “云存储”系统之基于用户系统实现的资源隔离及鉴权 4-1 帐号系统介绍与用户表设计.mp4 4-2 编码实战:“云存储”系统之实现用户注册接口.mp4 4-3 编码实战:“云存储”系统之实现用户登录接口.mp4 4-4 编码实战:“云存储”系统之实现用户信息查询接口.mp4 4-5 接口梳理小结.mp4 4-6 编码实战:“云存储”系统之快速实现访问鉴权接口+小结.mp4 4-7 关于静态资源访问404的问题【补漏.mp4 第05章 “云存储”系统之基于Hash计算实现秒传 5-1 Hash算法对比及秒传原理.mp4 5-2 用户文件表设计与创建.mp4 5-3 编码实战:“云存储”系统之升级改造上传接口.mp4 5-4 编码实战:“云存储”系统之基于用户查询文件Hash信息.mp4 5-5 编码实战:“云存储”系统之实现秒传功能接口+小结.mp4 第06章 “云存储”系统之基于Redis实现分块上传及断点续传 6-1_分块上传与断点续传原理.mp4 6-2_编码实战:Go实现Redis连接池(存储分块信息).mp4 6-3_编码实战:实现初始化分块上传接口.mp4 6-4_编码实战:实现分块上传接口.mp4 6-5_编码实战:实现分块合并接口.mp4 6-6_分块上传场景测试+小结.mp4 6-7_文件断点下载原理.mp4 第07章 “云存储”系统之基于Ceph实现私有云存储服务 7-1_Ceph是什么.mp4 7-2_Ceph集群介绍及兼容亚马逊S3接口详解.mp4 7-3_编码实战:Go访问管理Ceph集群.mp4 7-4_编码实战:Go实现Ceph的文件上传下载+小结.mp4 7-5_Ubuntu下通过Docker快速搭建Ceph测试集群(单机部署).mp4 7-6_Centos7下Docker部署Ceph集群(nautilus最新版,多机部署).mp4 第08章 “云存储”系统之基于阿里云OSS实现海量数据上云 8-1_阿里云对象存储OSS简介.mp4 8-2_阿里云对象存储OSS特点.mp4 8-3_阿里云对象存储OSS专业术语.mp4 8-4_阿里云对象存储OSS控制台管理.mp4 8-5_编码实战:OSS上传文件.mp4 8-6_编码实战:OSS下载文件.mp4 8-7_编码实战:OSS对象生命周期管理等常用功能.mp4 8-8_阿里云OSS本章小结.mp4 第09章 “云存储”系统之基于RabbitMQ实现异步存储 9-1_Ubuntu下通过Docker安装RabbitMQ.mp4 9-2_关于任务的同步与异步.mp4 9-3_RabbitMQ简介.mp4 9-4_RabbitMQ工作原理和转发模式.mp4 9-5_Docker安装RabbitMQ及UI管理.mp4 9-6_编码实战_实现异步转移的MQ生产者.mp4 9-7_编码实战_实现异步转移的MQ消费者.mp4 9-8_编码实战_异步转移文件测试+小结.mp4 第10章 “云存储”系统之架构微服务化 10-1_基于Docker部署服务注册发现中心consul集群.mp4 10-2_微服务基础概念与原理.mp4 10-3_云存储系统之微服务架构(1).mp4 10-4_云存储系统之微服务架构(2).mp4 10-5_Web框架Gin基础介绍.mp4 10-6_编码实战_基于Gin改造用户service(1).mp4 10-7_编码实战_基于Gin改造用户service(2.mp4 10-8_gRPC与Protobuf基础原理.mp4 10-9_RPC框架go-micro基础介绍.mp4 10-10_编码实战_改造账号系统service.mp4 10-11_编码实战_改造api网关service.mp4 10-12_编码实战_改造文件上传service.mp4 10-13_综合测试演示+小结.mp4 第11章 “云存储”系统之k8s&Docker;容器化实战 11-1_Ubuntu18下通过kubeadm单机安装k8s(v1.14.1)集群.mp4 11-2_Ubuntu18下安装k8s(v1.14.1)可视化管理工具.mp4 11-3_Docker与Docker-Compose基础概念.mp4 11-4_基于容器的微服务反向代理利器Traefik.mp4 11-5_基于Docker-compose与Traefik的容器化部署演示.mp4 11-6_Kubernetes基础原理.mp4 11-7_基于Kubernetes的容器化部署演示.mp4 第12章 “云存储”系统之持续集成部署 12-1_ubuntu下离线安装harbor1.6.mp4 12-2_持续构建之基础概念.mp4 12-3_基于gitlab+jenkins+harbor的自动化部署配置演示.mp4 第13章 课程总结 13-1_课程总结之章节重点及技能树温习.mp4
要在Jenkins中实现自动化部署Go语言程序,可以按照以下步骤进行设置: 1. 安装Go环境:首先,确保在Jenkins服务器上安装了Go语言环境。可以从Go官方网站下载并安装适用于您的操作系统的Go二进制文件。 2. 安装Jenkins插件:打开Jenkins的插件管理页面,并安装Go插件。该插件将提供Go语言构建部署功能。 3. 创建Jenkins项目:在Jenkins中创建一个新的项目或作业,选择自由风格项目或管道项目作为项目类型。 4. 配置源代码管理:在项目配置中,选择您使用的版本控制系统,如Git或SVN,并提供您的Go语言程序的代码仓库URL。 5. 构建步骤:在构建步骤中,添加构建命令以编译和构建Go程序。例如,使用"go build"命令编译您的程序。 6. 构建后操作:在构建完成后,可以执行其他操作,如运行测试、生成文档等。 7. 部署步骤:添加部署步骤来将构建好的Go程序部署到目标服务器。这可以是SCP、SSH或其他适用于您的环境的部署方式。 8. 配置触发器:在配置中设置触发器,以便根据您的需求触发自动构建部署过程。可以选择在每次commit提交时触发或定期触发。 9. 保存并构建:保存并应用所有配置更改,并手动执行一次构建,以确保一切正常工作。 10. 自动化部署:现在,当有新的commit提交时,Jenkins将自动拉取最新的代码并进行构建,并将构建好的Go程序自动部署到目标服务器上。 通过这些步骤,您可以在Jenkins中配置自动化部署Go语言程序的流程,并实现持续集成和持续交付。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值