发布时间:2020-08-18 11:19:40编辑:admin阅读(2730)
Jenkins 的前身是 Hudson 是一个可扩展的持续集成引擎。Jenkins 是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。Jenkins 支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序。
操作系统:centos 7.6
docker版本:19.03.12
ip地址:192.168.31.145
配置:2核4g
docker pull jenkins/jenkins:lts
注意:这个是长期技术支持版
由于默认没有maven,因此我需要封装一下。
新建目录/opt/myjenkins/,目录结构如下:
./ ├── dockerfile └── settings.xml
FROM jenkins/jenkins:lts ADD settings.xml / USER root RUN apt-get update && \ apt-get install -y maven && \ apt-get clean all && \ mv /settings.xml /etc/maven/settings.xml
说明:
USER root 表示以root用户运行,这样jenkins执行某些任务时,不会出现没有权限的情况。
这个是maven配置文件,去掉了注释部分。增加阿里云maven仓库
<?xml version="1.0" encoding="UTF-8"?> <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> <pluginGroups></pluginGroups> <proxies></proxies> <servers></servers> <mirrors> <mirror> <id>nexus-aliyun</id> <mirrorOf>central</mirrorOf> <name>Nexus aliyun</name> <url>http://maven.aliyun.com/nexus/content/groups/public</url> </mirror> </mirrors> <profiles></profiles> </settings>
注意:配置阿里云maven仓库,可以很快速的下载一些jar包。
docker build -t myjenkins:1 . mkdir -p /data/jenkins/data /data/jenkins/maven docker run -d \ --restart=always \ --name=jenkins \ -u root \ -p 8080:8080 -p 50000:50000 \ -v /data/jenkins/data:/var/jenkins_home \ -v /data/jenkins/maven/m2:/root/.m2 \ myjenkins:1
说明:
/data/jenkins/data 用来保存jenkins数据目录
/data/jenkins/maven/m2 用来保存构建maven项目时,从aliyun下载的一些jar包。
查看日志
docker logs -f jenkins
如果出现
Jenkins initial setup is required. An admin user has been created and a password generated. Please use the following password to proceed to installation:
表示启动完成了
推荐清华大学镜像:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
修改文件
vi /data/jenkins/data/hudson.model.UpdateCenter.xml
完整内容如下:
<?xml version='1.1' encoding='UTF-8'?> <sites> <site> <id>default</id> <url>https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json</url> </site> </sites>
重启jenkins
docker restart jenkins
yum install -y nginx mkdir -p /data/log/nginx nginx
vi /etc/nginx/conf.d/jenkins.aliyun.com.conf
内容如下:
server { listen 80; server_name jenkins.aliyun.com; charset utf-8; access_log /data/log/nginx/jenkins.aliyun.com.access.log main; error_log /data/log/nginx/jenkins.aliyun.com.error.log; client_max_body_size 3072m; location / { index index.html index.htm; proxy_pass http://192.168.31.145:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
重新加载配置
nginx -s reload
http://jenkins.aliyun.com
注意:如果我们不配置镜像加速,那么很有可能会出现: Jenkins 一直卡在 启动界面 Please wait while Jenkins is getting ready to work
注意:这里一定要配置为域名。
登录之后,效果如下:
如果需要在jenkins里面,执行docker命令,请参考链接:
https://www.cnblogs.com/xiao987334176/p/13470724.html
本文参考链接:
https://blog.csdn.net/qiuyeyijian/article/details/104507440
上一篇: gitlab和gitlab项目迁移
47575
45936
36874
34438
29051
25685
24535
19692
19213
17727
5544°
6123°
5657°
5712°
6671°
5454°
5461°
5968°
5940°
7270°