记录一次较为完整的Jenkins发布流程

文章目录

    • [1. Jenkins安装](#1. Jenkins安装)
      • [1.1 Jenkins Docker安装](#1.1 Jenkins Docker安装)
      • [1.2 Jenkins apt-get install安装](#1.2 Jenkins apt-get install安装)
    • [2. 关联github/gitee服务与webhook](#2. 关联github/gitee服务与webhook)
      • [2.1 配置ssh](#2.1 配置ssh)
      • [2.2 Jenkins关联](#2.2 Jenkins关联)
      • [2.3 WebHook](#2.3 WebHook)
    • [3. 前后端关联发布](#3. 前后端关联发布)

1. Jenkins安装

1.1 Jenkins Docker安装

Docker很好,但是我没有玩明白如何使用Docker的jenkins发布服务。因此仅做个记录

参考https://juejin.cn/post/7219899306946199610

这篇文章详细讲述了Docker中Jenkins如果想启其他docker服务的过程,值得参考
参考https://blog.csdn.net/BThinker/article/details/124178670

这篇文章详细讲述了Jenkins Docker的安装过程,值得参考

1.2 Jenkins apt-get install安装

直接参考官网https://pkg.jenkins.io/debian-stable/

This is the Debian package repository of Jenkins to automate installation and upgrade. To use this repository, first add the key to your system (for the Weekly Release Line):

复制代码
  sudo wget -O /usr/share/keyrings/jenkins-keyring.asc \
    https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key

Then add a Jenkins apt repository entry:

复制代码
  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

Update your local package index, then finally install Jenkins:

复制代码
sudo apt-get update
sudo apt-get install fontconfig openjdk-17-jre
sudo apt-get install jenkins

上述过程执行完毕,最终以systemctl的方式启动

如果要修改端口号,参考https://blog.csdn.net/Lifereunion/article/details/123430619

需要用systemctl status jenkins找到配置文件,然后直接在配置文件修改

借用评论区老哥的一句话

把配置写在服务里,这就离谱。。。估计都是用Jenkins源下载的吧,官方打包的人脑子有吭,如果直接安装rpm包就不会这样。

2. 关联github/gitee服务与webhook

参考 https://www.jianshu.com/p/dca1ec8187aa。写得很好

2.1 配置ssh

gitee和github流程差不多,都是本地

复制代码
ssh-keygen -t rsa -C "your_email@example.com"

2.2 Jenkins关联

生成的id_rsa.pub放到github的配置中

生成的id_rsa放到Jenkins中

2.3 WebHook

首先去System配置关联

这里的需要配置API令牌,记得自己存一份,以后就看不到这个API令牌了

在流水线中选择Generic Webhook Trigger

这里通过该网站https://chahuo.com/token-generator.html随机生成一段token

按照上述url在gitee部分也进行同样设置

3. 前后端关联发布

参考https://www.cnblogs.com/gaojinshun/p/15273011.html

我用的是shell的方式发布服务

注意一定需要加入BUILD_ID=dontKillMe,否则jenkins默认会在构建完成后杀掉构建过程中又jenkins中shell命令触发的衍生进程。

复制代码
BUILD_ID=dontKillMe

pwd
ls -lr
sh ./kill5050.sh

npm install
npm install forever -g
forever start server.js
相关推荐
3DVisionary29 分钟前
突破3C质检产能瓶颈:XTOM蓝光扫描仪配合自动化转台实现精密件批量检测
运维·人工智能·自动化·xtom扫描仪·自动化检测·消费电子质检·良率控制
Luke Ewin1 小时前
Linux中部署Qwen3.5大模型
linux·运维·服务器·ai·llm·qwen3.5
xin_yao_xin1 小时前
Windows 下 Docker Desktop 安装教程及常用命令(2026 最新)
运维·docker·容器
春日见1 小时前
云服务器开发与SSH
运维·服务器·人工智能·windows·git·自动驾驶·ssh
还是做不到嘛\.1 小时前
DVWA靶场-Brute Force
运维·服务器·数据库·学习
克莱因3582 小时前
linux主机名与Hosts映射 (顺带个DNS简介
linux·运维·服务器
XMAIPC_Robot2 小时前
基于RK3588 ARM+FPGA的电火花数控系统设计与测试(三)
运维·arm开发·人工智能·fpga开发·边缘计算
Elastic 中国社区官方博客2 小时前
现已正式发布: Elastic Cloud Hosted 上的托管 OTLP Endpoint
大数据·运维·数据库·功能测试·elasticsearch·全文检索
LDG_AGI3 小时前
【人工智能】OpenClaw(一):MacOS极简安装OpenClaw之Docker版
运维·人工智能·深度学习·机器学习·docker·容器·推荐算法
朱包林3 小时前
k8s-Pod基础管理,标签管理,rc控制器及重启策略实战
linux·运维·云原生·容器·kubernetes·云计算