jenkins 介绍

jenkins 介绍
jenkins 是一个基于 java 开发的在自动化服务器,是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。
特性:

  • 易于安装
  • 易于配置
  • 集成 RSS/Email,通过 RSS 发布构建结果或通过 email 通知
  • 生成 Junit/TestNG 测试报告
  • 支持分布式构建,让多台计算机一起构建
  • 文件识别,能跟踪哪次构建了哪些包
  • 插件支持,大量官方插件以及可自定义插件

jenkins 搭建

war 部署

下载最新的 jenkins war 包 下载地址

两种启动方法:

  • java -jar jenkins.war, 然后通过 8080 端口访问
  • 将 war 包放到 tomcat 的 webapps 目录下,然后启动 tomcat,通过本机域名/jenkins访问

apt 安装

对于 Debian/Ubuntu 系统,通过 apt 安装

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
sudo apt-get install jenkins

安装软件包会自动完成以下内容:

  • 将 Jenkins 设置为启动时启动的守护进程。查看/etc/init.d/jenkins获取更多细节
  • 创建一个’jenkins’用户来运行此服务
  • 直接将控制台日志输出到文件/var/log/jenkins/jenkins.log。如果您正在- 解决 Jenkins 问题,请检查此文件
    /etc/default/jenkins为启动填充配置参数,例如 JENKINS_HOME
  • 将 Jenkins 设置为在端口 8080 上进行监听。

Docker 部署’

docker run \
  -u root \
  --rm \
  -d \
  -p 8080:8080 \
  -p 50000:50000 \
  -v jenkins-data:/var/jenkins_home \
  -v /var/run/docker.sock:/var/run/docker.sock \
  jenkinsci/blueocean

官方推荐使用 jenkinsci/blueocean 镜像,该镜像包含当前的长期支持 (LTS) 的 Jenkins 版本 (可以投入使用) ,捆绑了所有 Blue Ocean 插件和功能,不需要单独安装 Blue Ocean 插件。
也可以使用 jenkins tls 版本 jenkins/jenkins:tls

因为需要获取登录密码,所以必须先在本机创建/var/jenkins_home作 jenkins 的 volume,即 jenkins 的默认存放密码的目录。

若需要配置 jdk、maven 等目录,要作 volume 映射。
,需要添加几项参数:

docker run -u root -d \
   -p 8080:8080 -p 50000:50000 \
   -v /var/run/docker.sock:/var/run/docker.sock \
   -v /usr/lib/jvm/java-8-openjdk-amd64:/usr/lib/jvm/java-8-openjdk-amd64 \
   -v /var/jenkins_home:/var/jenkins_home \
   --name jenkins \
   jenkinsci/blueocean

需要修改/var/jenkins_home的权限,使当前用户能有管理权限(所属人),这样才能查看 secrets 下的 initialAdminPassword 文件。secrets目录的默认权限为:700

配置系统

配置发件人地址

进入配置系统(Configure System) -> Jenkins Location 配置

jenkins日期参数_jenkins

环境变量

Global properties 中可配置常用变量例如 GO_VERSION,JDK_VERSION,DB_PATH等,可在日志和说明信息中引用

jenkins日期参数_持续交付_02

其他插件根据需要在Manage Plugin中自行安装配置