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 配置
环境变量
Global properties 中可配置常用变量例如 GO_VERSION
,JDK_VERSION
,DB_PATH
等,可在日志和说明信息中引用
其他插件根据需要在Manage Plugin中自行安装配置