Jenkins 服务搭建以及自动化编译部署

安装环境:Ubuntu22.04

1.首先安装Jenkins
这是 Jenkins 的 Debian 软件包存储库,用于自动安装和升级。 要使用此存储库,请先将密钥添加到系统中,在服务器执行命令:

curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key | sudo tee /usr/share/keyrings/jenkins-keyring.asc > /dev/null

然后添加一个 Jenkins apt 存储库条目:
echo “deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] https://pkg.jenkins.io/debian-stable binary/” | sudo tee /etc/apt/sources.list.d/jenkins.list > /dev/null

更新本地包索引,然后最终安装 Jenkins:

sudo apt-get update
sudo apt-get install fontconfig openjdk-11-jre
sudo apt-get install jenkins

安装完成后查看

安装完成后,查看jenkins是否运行:

sudo systemctl status jenkins

active (running)表示正在运行,如果未运行,输入sudo systemctl  start jenkins 运行

2.配置Jenkins & GitLab  SSH 公钥
安装完成后,jenkins的web登录端口默认是 8080

在浏览器输入http://服务器IP:8080/ 即可访问到Jenkins web页面:

想要自动化编译GitLab 的代码,那还需要搭建一个Gitlab代码管理仓库,这个测试部已经搭建过了。我们需要做的就是在gitlab上传好代码,然后配置jenkins和gitlab的ssh key,

这样jenkins才能从gitlab clone到代码。

Jenkins服务器ssh key创建
安装Jenkins的服务器会自动创建一个jenkins的账号,现在我们切换到此账号:su jenkins,如果密码不对,需要先sudo passwd jenkins 设置密码。

输入cd,会自动到jenkins的家目录/var/lib/jenkins,

如果是新安装的jenkins 肯定没有创建过ssh key,我们执行ssh-keygen -t rsa 来创建,后面的提示一路回车即可。

创建成功后 cat .ssh/id_rsa.pub  ,复制如下SSH密钥到gitlab。
ssh-rsa xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= jenkins@Super-Server-0

配置jenkins的SSH 公钥到GitLab
这一步操作是为了能让系统的jenkins用户拥有访问 gitlab 的权限

将复制的id_rsa.pub文件的SSH密钥粘贴到 红框3 的位置保存即可。

配置jenkins web的 凭证
1.首先登录到jenkins web,点击右上角的下拉键选择“凭据”

2.然后点击“全局”,

3.进入里层目录后点击“ Add Credentials”

4.然后类型选择“SSH Username with private key”,用户名固定填“jenkins”

5.最后勾上Enter directly,回到jenkins用户命令行,执行cat .ssh/id_rsa,获取Private Key,复制后粘贴到框里保存即可.

3.上传代码到GitLab
测试jenkins是否可以运行,需要先创建一个测试的代码仓库,或者使用现有的代码仓库。

登录到Gitlab后,点击右侧新建项目,创建一个空白的项目,

然后按照指示上传自己的代码,指示已经比较详细,按照步骤即可正确上传,

这里我测试直接上传OpenBmc的代码。代码push成功后,复制SSH的克隆地址,我测试的时候好像jenkins不能使用 http地址,可能与Gitlab的网址是纯IP有关。

4.创建Jenkins自动化任务
回到Jenkins页面,点击新建任务,

由于最终是为了构建OpenBmc,经过测试可以使用’Build Steps’ 的shell脚本来完成,所有这里选择自由风格的软件项目。

Configure 配置
源码管理-git的Repository URL 填入之前复制到GitLab 的SSH 克隆链接,填入自己的分支。

Build Steps 脚本示例

–Build Steps脚本

#!/bin/bash -e
#防止jenkins杀死启动的进程
BUILD_ID=DONTKILLME
. /etc/profile
export LANG=en_US.UTF8
cd $WORKSPACE/openbmc
source setup evb-ast2500
ln -s …/…/downloads downloads
bitbake obmc-phosphor-image -c clean
time bitbake obmc-phosphor-image

4.执行构建

构建完成后,可在控制台输出 查看log

参考
流水线 (jenkins.io)

jenkins/run-build-script-ci - 知乎 (zhihu.com)

  • 10
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一如既往の

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值