运维进阶-jenkins

175 阅读1分钟

安装jenkins

环境: ubuntu20 参考: www.jenkins.io/zh/doc/book…

http://8.130.37.72:8080/

wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt-get update
apt install openjdk-11-jdk
sudo apt-get install jenkins
systemctl status jenkins

vim /etc/default/jenkins

JENKINS_USER=root
JENKINS_GROUP=root

vim /lib/systemd/system/jenkins.service

User=root
Group=root
JAVA_ARGS="-Djava.awt.headless=true -Dhudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION=true" #关闭 跨站请求伪造保护(CSRF)保护

重启

systemctl daemon-reload && systemctl restart jenkins.service
cat /var/lib/jenkins/secrets/initialAdminPassword

image.png

image.png

image.png

image.png

Jenkins分布式架构概念与实现;

image.png

  • jenkins master节点负责job的创建、管理 与触发。
  • job在执行时分配给特定的jenkins slave节 点执行
  • job执行成功后由jenkins master发送邮件 通知。
  • 降低jenkins master的负载。
  • 基于jenkins分布式架构可以快速横向扩容 jenkins的构建job并发执行能力、提高部署效率。

添加jenkins slave节点:

jenkins slave节点创建工作目录与基本环境配置,如果jenkins slave节点需要clone代码和执行java 代码编译,则 jenkins slave节点也需要配置java环境并且安装git、svn、maven等与master相同的基础运行环境,

另外也要创建与 master相同的数据目录,方便后期目录切换与制品同步,此路径通常与master和各node节点保持一致。

  • mkdir -p /var/lib/jenkins #创建数据目录

  • apt install openjdk-11-jdk

实战案例:基于Docker系统实现代码自动发布和回滚;

image.png

deploy 触发部署更新动作 可以自己调API

image.png

拉取代码 image.png

代码扫描