jenkins
- jenkins是一款CI&CD的软件,原名Hadson,支持构建,部署,自动化,主要优点有:
- 配置简单:有GUI页面
- 分布式:可以轻松的在多台机器上分配工作
- 简易安装:是一个基于java的应用程序,多个平台可以运行
- Junit报告:各种图形化页面显示数据
- 插件化:支持上千种插件
- 继承EMail/RSS/IM:可以将集成结果通知给用户
- 链接永久:用户是通过web访问jenkins的,链接地址是永久不变的
jenkins的安装和配置
-
安装jenkins
# 下载jenkins docker pull jenkins/jenkins:lts-centos7 # 创建jenkins容器并启动 docker run -d --name myjenkins -p 8888:8080 \ jenkins/jenkins:lts-centos7 # 查看jenkins日志 docker logs -f myjenkins # 成功后访问 http://ip:8888
-
配置镜像加速,使用-清华大学开源软件镜像站
# 进入容器,查看数据卷路径,查看数据卷 docker exec -it -u root myjenkins bash cd /var/jenkins_home/ # 修改hudson.model.UpdateCenter.xml 文件 vi hudson.model.UpdateCenter.xml # 将url替换 [新]https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json # 修改default.json文件的部分内容 vi /var/jenkins_home/updates/default.json # 将内容中所有google的地址改为baidu(:为命令行模式) :%s#http://www.google.com#http://www.baidu.com#g # 将配置中所有的官网路径替换为镜像中心的下载路径(:为命令行模式) :%s#https://updates.jenkins.io/download#https://mirrors.tuna.tsinghua.edu.cn/jenkins#g # 保存退出,切出容器 :wq exit
-
重启jenkins,访问http://ip:8888 准备解锁
docker restart myjenkins
-
密码查看方式一
# 可以通过日志查看 docker logs -f myjenkins # 部分内容如下 ************************************************************* ************************************************************* ************************************************************* Jenkins initial setup is required. An admin user has been created and a password generated. Please use the following password to proceed to installation: 14ba10eab2d14611ba116d0f9cf50420 This may also be found at: /var/jenkins_home/secrets/initialAdminPassword ************************************************************* ************************************************************* ************************************************************* 其中:14ba10eab2d14611ba116d0f9cf50420就是密码
-
密码查看方式二
# 进入到jenkins容器 docker exec -it myjenkins bash # 查看密码 cat /var/jenkins_home/secrets/initialAdminPassword
-
下一步,正常安装插件,如果失败,点击重试,或者只按照指定的插件即可
-
创建用户,正常创建即可,我们这里都使用root
-
插件安装
- 点击系统管理 –> 点击插件管理 –> 进入到插件管理页面
- 点击可选插件 –> 输入maven –> 勾选Maven Integration –> 下载待重启安装
-
安装maven环境
# 下载maven,这里我们使用下载好的:apache-maven-3.6.3-bin.tar.gz # 目录根据自己实际情况来 docker cp ./apache-maven-3.6.3-bin.tar.gz myjenkins:/var/jenkins_home/ # 进入到容器 docker exec -it -u root myjenkins bash # 将maven解压 tar -zxvf /var/jenkins_home/apache-maven-3.6.3-bin.tar.gz # 在maven的settings.xml # 阿里云镜像 <mirror> <id>alimaven</id> <mirrorOf>central</mirrorOf> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/repositories/central/</url> </mirror> # 设置maven_home环境变量 vi /etc/profile #点击i进入编辑模式 输入 MAVEN_HOME=/var/jenkins_home/apache-maven-3.6.3 export MAVEN_HOME export PATH=${PATH}:${MAVEN_HOME}/bin #保存退出 :wq # 是资源文件生效(这样就不用重启系统了) source /etc/profile # 查看是否配置成功 mvn -v # 将maven的路径设置的jenjins中 /var/jenkins_home/apache-maven-3.6.3
-
jenkins中配置maven环境变量
- 系统管理–>全局工具配置
1.新增maven 2.name随意,MAVEN_HOME: /var/jenkins_home/apache-maven-3.6.3 3.取消勾选自动安装 4.保存即可
jenkins快速入门
- 在需要导入的项目资源的pom文件中添加以下依赖
# 该依赖可以告诉jenkins打包往什么地方上传 # 没有配置服务器的相关用户名和密码,猜测可能是因为在同一个服务器内不需要配置 <build> <finalName>app</finalName> <plugins> <!-- 打jar包时如果不配置该插件,打出来的jar包没有清单文件 --> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <!-- 插件网址:https://github.com/spotify/docker-maven-plugin --> <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>1.2.0</version> <configuration> <imageName>192.168.154.129:5000/${project.artifactId}:${project.version}</imageName> <baseImage>java:8-alpine </baseImage> <entryPoint>["java","-jar","/${project.build.finalName}.jar"]</entryPoint> <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory}</directory> <include>${project.build.finalName}.jar</include> </resource> </resources> <dockerHost>http://192.168.154.129:2375</dockerHost> </configuration> </plugin> </plugins> </build>
- 将项目提交到git上
- 在jenkins中新建maven任务
1.首页-->新建任务-->输入任务名称/选择选择构建一个maven项目-->添加描述信息 2.在源码管理中,勾选git,填入Repository URL:https://gitee.com/chuanshuodev/docker_day02_demo.git(你的git代码下载链接) 3.如果有密钥则填入密钥,如果没有则只选择分支名称即可 4.在构建前置操作Pre Steps中的Goals and options中填写需要执行的shell指令 5.构建结果通知暂时不配置 6.保存后在左侧菜单栏执行立即构建指令 7.首次构建控制台输出菜单中会显示下载很多依赖,时间较久,请耐心等待 8.构建完成后再docker查看其镜像即可,就可以继续后续操作了
- 测试,docker中依据此生成的镜像创建容器查看即可