Jenkins
# Jenkins 持续集成工具
网址
官网:https://www.jenkins.io/
github:https://github.com/jenkinsci/jenkins
# 开源简介
Jenkins 是一个开源的持续集成(CI)和持续交付(CD)工具,旨在帮助开发团队自动化软件开发和交付过程。它是一个非常强大和灵活的工具,广泛用于各种规模的软件项目。
Jenkins 提供了许多强大的特性,包括:
- 自动构建 :Jenkins 可以自动构建代码,确保每次提交都能够编译和测试,从而降低了代码集成的风险。
- 插件生态系统 :Jenkins 拥有庞大的插件生态系统,允许用户轻松扩展其功能,以满足特定项目的需求。
- 分布式构建 :Jenkins 允许在多个构建代理上分发构建任务,从而提高了构建的效率。
- 可视化构建和部署流程 :通过 Jenkins 的用户友好界面,用户可以轻松定义和管理构建和部署流程。
- 通知和报告 :Jenkins 可以通过电子邮件、Slack、JIRA 等方式发送通知,还可以生成详细的构建报告,帮助团队了解构建的状态和问题。
- 安全性 :Jenkins 提供了一系列安全性功能,包括用户身份验证、授权和安全插件,以保护您的构建和部署流程。
# 使用场景
Jenkins 可以用于各种不同的应用场景,包括:
- 持续集成 :自动构建和测试代码,确保每次提交都是可部署的。
- 持续交付 :自动化部署和交付代码到生产环境,以缩短交付周期。
- 自动化测试 :运行各种测试,包括单元测试、集成测试和端到端测试,以确保代码质量。
- 任务调度 :定期执行计划任务,例如数据备份或定时报告生成。
- 基础设施自动化 :管理和自动化基础设施操作,如服务器部署和配置管理。
jenkins不建议docker部署
# docker-compose.yml
version: "3.7"
services:
jenkins:
image: jenkins/jenkins:lts-jdk11
container_name: jenkins
privileged: true
restart: always
environment:
TZ: Asia/Shanghai
JAVA_OPTS: '-Djava.util.logging.config.file=/var/jenkins_home/log.properties'
volumes:
- jenkins_home:/var/jenkins_home
- /var/run/docker.sock:/var/run/docker.sock
- /usr/bin/docker:/usr/bin/docker
- /usr/lib64/libltdl.so.7:/usr/lib/x86_64-linux-gnu/libltdl.so.7
ports:
- 18080:8080
- 50000:50000
volumes:
jenkins_home:
# deploy.sh
#!\bin\bash
mkdir -p /var/jenkins_data/
cat > /var/jenkins_data/log.properties <<EOF
handlers=java.util.logging.ConsoleHandler
jenkins.level=FINEST
java.util.logging.ConsoleHandler.level=FINEST
EOF
docker-compose up -d
上次更新: 2023/09/11, 15:56:39