Jenkins持续集成与交付安装配置

Jenkins 是一款开源的持续集成(CI)和持续交付(CD)工具,它主要用于自动化软件的构建、测试和部署流程。为项目持续集成与交付功能强大的应用。下面我们来介绍下它的安装与配置。

环境准备
  • 更新系统组件(这里以ubuntu为例)

    bash 复制代码
    sudo apt update
    sudo apt upgrade
  • 主机安装jdk11及以上版本

    bash 复制代码
    sudo apt install openjdk-11-jdk
    
    #编辑~/.bashrc或~/.bash_profile
    export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
  • 主机安装git环境

    bash 复制代码
    sudo apt install git
  • 主机安装maven环境

    bash 复制代码
    sudo apt install maven
开始安装jenkins

添加存储库(仓库源,未执行将出现not found错误)

bash 复制代码
wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
echo deb http://pkg.jenkins.io/debian-stable binary/ | sudo tee /etc/apt/sources.list.d/jenkins.list

安装jenkins(先更新一下系统apt update)

bash 复制代码
sudo apt install jenkins
待安装完成访问地址开始初始化

默认端口为8080

访问 http://<你的IP>:8080,你将看到Jenkins的初始化页面。

按照页面提示,获取管理员密码。

初始化Jenkins,包括解锁、安装插件、创建管理员账户和配置系统。

恢复jenkins授权策略

有时在迁移过程中导致授权发生变化不能启动如何恢复
在安装了Role-based Authorization Strategy插件后,修改了授权导致jenkins无法进入配置界面

修改/var/lib/jenkins/config.xml,并替换以下配置内容,然后重启jenkins

vim /var/lib/jenkins/config.xml

bash 复制代码
<authorizationStrategy class="hudson.security.FullControlOnceLoggedInAuthorizationStrategy">
    <denyAnonymousReadAccess>true</denyAnonymousReadAccess>
  </authorizationStrategy>
  <securityRealm class="hudson.security.HudsonPrivateSecurityRealm">
    <disableSignup>true</disableSignup>
    <enableCaptcha>false</enableCaptcha>
  </securityRealm>

修改配置后重启jenkins

bash 复制代码
systemctl restart jenkins
终止jenkins工作任务

获取当前用户的crumb

bash 复制代码
curl -s http://<用户名>:<密码>@<JENKINS_URL>/crumbIssuer/api/json

curl -s http://xiye:xiye2024@192.168.3.100:8080/crumbIssuer/api/json

获取上面对应用户的API Token

bash 复制代码
Jenkins图标------>Manage Jenkins------>Users------>新建用户

换其它账号登录Jenkins,选择第一步建的用户并点击配置 ,在API Token处查看或添加新的token

终止正在执行的任务

bash 复制代码
curl --request POST  -u "<用户名>:<API Token>" "http://192.168.3.100:8080/job/mongo-data-sync/lastBuild/stop"

示例:
curl --request POST  -u "xiye:34c73c1bfee9b18ad1796b17b5ffa2c1" "http://192.168.3.100:8080/job/mongo-data-sync/lastBuild/stop"

关于jenkins配置及使用就介绍到这里了,如有其它问题和功能也可以在评论区里提出来后期继续完善。

相关推荐
科技研学社31 分钟前
服装自动化产线品质管控:机器能降不良,但不能自动兜底
运维·自动化
lambo mercy41 分钟前
Day4:流式传输
运维·服务器·网络
I'm Jie1 小时前
Rhost v2.0.0 版本发布!!!不止 SSH 终端,内置 AI Agent 支持自然语言操作远程服务器
运维·服务器·rust·开源·ssh·tauri·finalshell
海宇服务1 小时前
零信任架构实战:基于海宇公安二要素认证即时版构建自动化跨境个人额度申报实名网关
运维·人工智能·架构·自动化
沙老师1 小时前
linux比windows死板的地方
linux·运维·windows
H.莓飛1 小时前
【Linux】进程的创建与终止
linux·运维·服务器·c语言·visual studio
研发小能1 小时前
DevOps 工具链选型:一体化平台,还是把单点工具拼起来?
运维·研发效能·devops·嘉为蓝鲸
wespaul2 小时前
VeapAI 自然语言操作实战|第 08 篇:治理层——审计、指标、评估与权限
运维·网络·数据库
Sayai2 小时前
Kafka 2.8→3.9.1 跨大版本升级实战:ZooKeeper 同步升级、数据目录迁移与回滚预案全流程
大数据·运维·分布式·zookeeper·kafka
chenxy022 小时前
国产加速卡-应知应会
linux·运维·服务器