一直想写一个系列,将平时工作中使用的环境、技术都写进同一系列中,目的主要使自己知识成体系,初步规划内容有《Docker+Nexus搭建Maven私服》、《Docker+Jenkins实现自动化部署》、《Springcloud系列》、《k8s服务编排》,后续可能还会有新的动西加入,涉及的动西比较多,时间会比较长,希望自己能坚持写完。
1.环境搭建均使用Docker安装,故需要Docker相关知识,对于Docker不熟悉的童鞋可参见我的另一篇文章Docker学习笔记之基础知识 2.以下ip非腾讯云真实ip,大家根据自己实际情况填写,此处只是方便后续使用
环境版本腾讯云系统centos7ip192.168.1.100Docker18.09.6jenkinsci/blueoceanlatest以下涉及docker基本操作 1.docker pull:指从docker仓库拉取jenkins镜像 2.docker run:指启动jenkins镜像
# 拉取镜像 $ docker pull jenkinsci/blueocean # 启动镜像 $ docker run -d --name jenkins -p 8080:8080 -p 8010:8010 -p 50000:50000 -v /home/milk/docker/jenkins_home:/var/jenkins_home ba607c18aeb7jenkins安装完成后,浏览器键入http://192.168.1.100:8080看到如下界面表示jenkins安装完成
解锁jenkins根据下边显示地址找到密码cat /var/jenkins_home/secrets/initialAdminPassword
预装插件建议选择左边推荐插件
创建账户设置登录账户名及密码
1.进入挂载的jenkins本地路径 :cd /home/milk/docker/jenkins_home 2.修改文件hudson.model.UpdateCenter.xml,将url改为如下网址即可
<sites> <site> <id>default</id> <url>https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json</url> </site> </sites> 自定义插件安装根据自己需要安装插件,此处只安装本将演示所需插件,后需若有需求会继续更新至此处 1.安装 Maven Integration 2.安装 Git Parameter Plug-In
安装jdk系统管理->系统设置 1.进入docker中的jenkins查看jdk位置 $ docker exec -it e179907190b9 /bin/bash 2.查看jdk位置 $ echo $JAVA_HOME
安装maven1.配置maven路径,提前将下载好的maven放至挂载路径下 2.进入docker中jenkins_home文件夹中的maven所在处 3.pwd显示当前路径,将该路径填至下书第二个箭头即个,下书第一个箭头的name可自行定义
配置全局settings.xmlsettings.xml位置为上述配置的maven路径下的conf文件夹中,在此settings.xml文件中可修改maven仓库路径
说明:必须安装上述插件项中的Maven Integration 才会现下述的"构建一个Maven项目"选项
配置参数化构建配置此参数后,在后续构建时,可会弹出选择构建那一个分支
配置git1.填入项目地址 2.配置git账户名及密码,比较简单,就不截图展示了
配置执行maven命令配置构建时执行的命令
配置执行脚本配置此脚本后,在上述项目打包完成后执行此脚本
#!/bin/bash #服务名称 SERVER_NAME=stock-server # 源jar路径,mvn打包完成之后,target目录下的jar包名称,也可选择成为war包,war包可移动到Tomcat的webapps目录下运行,这里使用jar包,用java -jar 命令执行 JAR_NAME=stock-server-1.0-SNAPSHOT # 源jar路径 #/usr/local/jenkins_home/workspace--->jenkins 工作目录 #demo 项目目录 #target 打包生成jar包的目录 JAR_PATH=/var/jenkins_home/workspace/stock-server/target # 打包完成之后,把jar包移动到运行jar包的目录 JAR_WORK_PATH=/var/jenkins_home/wk_path echo "查询进程id-->$SERVER_NAME" PID=`ps -ef | grep "$SERVER_NAME" | awk '{print $2}'` echo "得到进程ID:$PID" echo "结束进程" for id in $PID do kill -9 $id echo "killed $id" done kill -9 8088 echo "结束进程完成" #复制jar包到执行目录 echo "复制jar包到执行目录:cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH" cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH echo "复制jar包完成" cd $JAR_WORK_PATH #修改文件权限 chmod 777 $JAR_NAME.jar nohup java -Dhudson.util.ProcessTree.disable=true -jar $JAR_NAME.jar解决: 1.给挂载文件夹的权限设置为jenkins,本文挂载地址为/home/milk/docker/jenkins_home,即执行命令chown -R 1000:1000 jenkins_home 2.查看selinux状态:sestatus 3.关闭selinux 3.1:临时关闭:setenforce 0 3.2:永久关闭:vim /etc/selinux/config,将selinux设置为disable
创建项目成功后,修改了全局配置,需重新配置创建好的项目