目录
1、发布流程图
工作流程:
- 开发人员提交代码到Git版本仓库;
- Jenkins人工/定时触发项目构建;
- Jenkins拉取代码、代码编码、打包镜像、推送到镜像仓库;
- Jenkins在Docker主机创建容器并发布。
2、环境准备
- 安装jdk
yum install java-1.8.0-openjdk.i686
java -version
- 安装maven
yum install maven
mvn -v
- 安装git
yum install git
git --version
3、Jenkins 入门
参考:https://jenkins.io/zh/doc/book/installing/
3.1、Jenkins docker 安装
最好安装最新版本,不然后面插件安装有版本问题就麻烦了。 我下的版本是 jenkins/jenkins。
docker search jenkins
docker pull docker.io/jenkins/jenkins
docker run -d -p 8080:8080 -v /data/jenkins:/var/jenkins_home --name jenkins cba3beb4ac0b
docker run --privileged=true -d -u root -p 8080:8080 -v /data/jenkins:/var/jenkins_home -v /data/maven:/usr/share/maven --privileged=true --name jenkins jenkins/jenkins
如果想docker 服务开机激动后,容器就启动加配置参数 --restart=always
可以通过update 来改变参数:docker update jenkins --restart=always
注意:上面 /data/jenkins 如果没有的话 数据卷会自动创建,容器中没有的目录也会自动创建。不管是容器挂载点发生变动还是宿主机对挂载目录进行操作,另一方都会跟着变动。
另外:挂在之后可能会出现数据卷权限问题而挂载失败,参考:https://blog.csdn.net/allensandy/article/details/101147144
docker inspect jenkins
查看:
3.2、可选步骤-Unlock Jenkins
jenkins/jenkins 这个版本不需要以下操作,以下可以跳过。
跳过-start
当您第一次访问新的Jenkins实例时,系统会要求您使用自动生成的密码对其进行解锁。
这个docker镜像不需要解锁,如果需要解锁按下面的步骤走:
浏览到 http://localhost:8080
(或安装时为Jenkins配置的任何端口),并等待 解锁 Jenkins 页面出现。
进入
cat /var/jenkins_home/secrets/initialAdminPassword
黏贴即可
选择“Install suggested plugins”安装默认的插件,下面Jenkins就会自己去下载相关的插件进行安装。需要等一会,小伙子要有点耐心!
有的插件安装不上也没关系,我们有解决办法:
【系统管理】-向下拉到【插件管理】
选择【高级】选项卡
替换最下方【升级站点】中的URL
系统默认更新地址是:http://updates.jenkins.io/update-center.json
更新为以下地址后则可成功安装插件:
http://mirror.esuni.jp/jenkins/updates/update-center.json (我用的这个)
或http://updates.jenkins-ci.org/update-center.json
注意:我安装的版本以上直接跳过
跳过-end
3.3、登录
直接输入http://ip:6080
创建超级管理员账号: admin/admin (不同的镜像登录密码不一样,可以在配置文件中修改,网上很多,自己查)
3.4、安装中文插件、maven插件等
- 安装中文插件:
- 安装maven插件
3.5、全局工具配置(JDK、GIT、Maven等)
全局工具配置
配置JDK 、GIT 、MAVEN
查jdk echo $JAVA_HOME
/root/soft/jdk1.8.0_131
注意:此处的jdk是docker 容器内部的jdk
如果配置 有问题的话,也可直接下载:
【系统管理】-【系统配置】:
最好不要用默认的仓库目录(.m2)地址,修改地址为/var/jenkins_home/tools/hudson.tasks.Maven_MavenInstallation/maven/conf下的settings.xml(因为/var/jenkins_home做了宿主挂载,避免直接把jar包下到容器里面):
<localRepository>/var/jenkins_home/mavenrepo</localRepository>
顺带在这里面改一下阿里镜像地址
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
3.6、git插件
3.6.1、Gitee插件
在线安装失败,请试一下离线装:https://gitee.com/oschina/Gitee-Jenkins-Plugin
3.6.2、添加配置(这部不可少)
- 前往 Jenkins -> Manage Jenkins -> Configure System -> Gitee Configuration -> Gitee connections
- 在
Connection name
中输入Gitee
或者你想要的名字 Gitee host URL
中输入码云完整 URL地址:https://gitee.com
(码云私有化客户输入部署的域名)Credentials
中如还未配置码云 APIV5 私人令牌,点击Add
- >Jenkins
Domain
选择Global credentials
Kind
选择Gitee API Token
Scope
选择你需要的范围Gitee API Token
输入你的码云私人令牌,获取地址:https://gitee.com/profile/personal_access_tokensID
,Descripiton
中输入你想要的 ID 和描述即可。
Credentials
选择配置好的 Gitee APIV5 Token- 点击
Advanced
,可配置是否忽略 SSL 错误(适您的Jenkins环境是否支持),并可设置链接测超时时间(适您的网络环境而定) - 点击
Test Connection
测试链接是否成功,如失败请检查以上 3,5,6 步骤。
3.7、新建一个maven任务测试
- 新建任务
未完待续