jenkins固件打包平台的搭建

前情概要:
最近项目很多但大部分都是进行简单的部分文件修改,固件的编译、测试、打包等流程较为繁琐,严重拖缓了其他较为重要的项目进度。故进行固件打包平台的搭建刻不容缓。
实现功能:
本打包平台的主要目的为减轻开发人员压力,简单项目上传文件后自动构建,同时也支持低代码开发非专业软件开发人员也可以实现通过本平台构筑所需代码。
前置条件:
ubuntu 云服务器 8g内存 100g硬盘,作为master来运行jenkins(由于gitlab仓库也在本服务器所需内存较大,若不需代码仓库则4g内存即可)
windows10 主机 系统版本22H2 8g内存 238g固态,作为agent来进行代码编译,当前所需编译工具不支持linux系统。
gitlab git仓库 当前我是用的为gitlab,其他git仓库应该都能实现相同效果。

1. 通过docker在linux云服务器上部署jenkins

1.安装docker

  sudo apt update
  sudo apt install docker.io -y

启动docker

sudo systemctl start docker
sudo systemctl enable docker

验证是否安装成功

docker -v

提示下列信息即表示安装成功
image

2.拉取jenkins镜像

我直接使用的是官方镜像

docker pull jenkins/jenkins:lts

如果下载速度较慢可以使用国内镜像,如下改用使用腾讯云

sudo tee /etc/docker/daemon.json <<EOF
{
  "registry-mirrors": [
    "https://mirror.ccs.tencentyun.com"
  ]
}
EOF

修改后重启docker

sudo systemctl daemon-reload
sudo systemctl restart docker

3.创建工作目录

docker volume create jenkins_home

4.启动jenkins

当前我部署的jenkins工作在8080端口,50000用与agent连接

docker run -d \
  --name jenkins \
  -p 8080:8080 \
  -p 50000:50000 \
  -v jenkins_home:/var/jenkins_home \
  jenkins/jenkins:lts

运行后可通过docker查看当前容器
docker ps
image
出现上述日志即代表部署成功
接下来即可通过IP:8080访问jenkins
image

5.获取默认账户和密码

docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword
然后粘贴在web端进行初始化
初始化过程中根据自己的需求选择插件

至此基本的jenkins部署已经完成

2.创建与git仓库的连接

这里只介绍gitlab的配置过程
这是目前安装的相关插件

image

点击右上角设置进入系统管理然后选择系统配置
image
找到GitLab配置项,添加新的gitlab配置然后添加配置如下图
image

如何获取API token?
image
添加成功后点击jenkins配置页面的Test Connection 若连接成功则会提示success

3.新建流水线

在jenkins主页面选择新建任务、流水线,修改名称后点击确认
image
如果功能比较简单且不需要agent的情况下可以选择
image
来进行非代码配置,由但是此选项不支持agent协同构建,本人此处选择使用首选项
配置本界面需选择gitlab的连接,并选择使用Pipelin script from scm
image

image

SMC选择GIT,并填写获取jenkinsflie的仓库路径和登录用户
image
脚本路径直接填写Jenkinsfile并开启轻量级检出
image
选择保存,至此流水线已经新建完成,jenkins构建代码只需在仓库页面Jenkinsfile分支下修改Jenkinsfile即可,每次修改后提交到仓库jenkins构建时会自动读取jenkinsfile

4.简单jenkinsflie代码编写

流水线配置界面有流水线语法的跳转界面,里面有官方提供的语法,此处我们只进行简单举例测试。具体功能实现需根据每个人的需求来实现。
这里以Hello World举例

pipeline {
    agent any
    stages {
        stage('Example') {
            steps {
                echo 'Hello World'
            }
        }
    }
}
posted on 2026-05-19 15:42  foorun  阅读(20)  评论(0)    收藏  举报