Jenkins简介

好处:使开发者从繁杂的集成中解脱出来,专注于更为重要的业务逻辑实现上

jenkins中文网站:http://www.jenkins.org.cn/

说白了就是:可持续集成

什么是可持续集成呢?持续集成系统的组成

一个自动构建过程,包括自动编译、分发、部署和测试等。一个代码存储库,即需要版本控制软件来保障代码的可维护性,同时作为构建过程的素材库。一个持续集成的服务器。

持续集成的原则

版本控制

需要版本控制软件保障团队成员提交的代码不会导致集成失败。常用的版本控制软件有 svn,Git, ClearCase 等;

集成服务器

需要有专门的集成服务器来执行集成构建。根据项目的具体实际,集成构建可以被软件的修改来直接触发,也可以定时启动,如每半个小时构建一次;

构建的成功

必须保证构建的成功。如果构建失败,修复构建过程中的错误是优先级最高的工作。一旦修复,需要手动启动一次构建

jenkins的脚本的环境变量(基于Ubuntu18.04部署Jenkins使用方法)(1)

jenkins的脚本的环境变量(基于Ubuntu18.04部署Jenkins使用方法)(2)

docker部署

# 安装docker sudo apt-get update sudo apt install -y apt-transport-https ca-certificates curl software-properties-common curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" sudo apt-get update sudo apt install -y docker-ce #可选项目,如果需要非root用户启动执行这个 # 配置amaozaji用户操作docker sudo group add docker adduser amaozaji passwd amaozaji sudo gpasswd -a amaozaji docker sudo systemctl restart docker # 关闭swap swapoff -a # 系统参数调整 echo "vm.max_map_count = 262144" >> /etc/sysctl.conf sysctl -p # 修改docker默认的存储路径 Ubuntu18.04下: 添加配置文件:/etc/systemd/system/docker.service.d/docker-overlay.conf 内容如下: [Service] ExecStart= ExecStart=/usr/bin/dockerd --graph="/data/var/lib/docker" --storage-driver=overlay # 修改容器内日志文件大小和个数 vim /etc/docker/daemon.json { "log-driver":"json-file", "log-opts": { "max-size":"100m", "max-file":"10" } } # 重载配置文件并重启服务 systemctl daemon-reload systemctl restart docker # 安装docker模块(如果没有pip工具,先安装:apt-get install python-pip) pip install docker==4.0.0

保存生成配置文件

使用 main_config_editor 保存生成一个配置文件,可以直接用默认配置开始。每次修改会实时生效,且保存在本地文件夹中。

可以直接用默认配置开始。

同时支持 PUT 和 GET 请求修改配置文件,便于 CI 集成

脚本 update_config_editor.sh :

#!/bin/bash set -e set -x docker pull config_editor docker rm -f config_editor || echo "ok" docker run -d --name config_editor -p 8000:8000 --restart=always -v /data/source_config:/config config_editor

启动后访问 http://主机名:8000/ 确认是否可以看到配置文件编辑器

jenkins的脚本的环境变量(基于Ubuntu18.04部署Jenkins使用方法)(3)

在需要控制的主机上增加认证公钥

增加认证公钥,只需要被 jenkins 控制并安装组件的机器上执行(需要sudo权限):

mkdir /root/.ssh/ echo 'ssh-rsa AA2EAAAADAQABAAABAQDgsoxCDtHGSaPqwVppkhRsZ6Qha85q77etYuzNM/dEkJJwMKmCxw1q/iBecopL0XRDyUVlK7y2eWZ0KCom5tpMf pCZkK1SRUxcI5eId4juZnDKHqSXqVaalJDRr9zD7vKYdpaDTALX5RLhC3jr3cF/SImAlpTlQ0bmBttk7pJkF1AjBYRIDYezCN4nITsuGnqSgD/XUzSpjivO8P7SNnxRY8eHASstKiJC8zU2GQF6exGVGPAWdPi99y/3/HPJn jenkins' >> /root/.ssh/authorized_keys

如果操作无误但Jenkins执行任务时还是认证失败,可以通过 jenkins 的私钥连接确认

ssh -i private_key.pem root@target_host

下载启动 jenkins

常用脚本,CONFIG_URL 是配置文件的访问地址,即上一步配置文件修改器的访问地址

脚本 update_jenkins.sh :

##!/bin/bash set -e set -x # 下载jenkins docker docker pull jenkins docker rm -f amaozaji_jenkins || echo "No need to rm amaozaji_jenkins" # 启动 docker 并设置配置文件下载地址 docker run --name amaozaji_jenkins -d --net=host -e CONFIG_URL=http://localhost:8000/main.yaml jenkins

启动后访问 http://主机名:8080/ 确认是否可以看到Jenkins页面。

jenkins的脚本的环境变量(基于Ubuntu18.04部署Jenkins使用方法)(4)

,