持续构建工具Jenkins使用细节

  • 时间:
  • 浏览:2
  • 来源:5分PK10_5分PK10官网

使用篇

1.Jenkins的密钥对配置

①主菜单中Credentials的密钥对是狭义的是指拉取代码的密钥队,也后来 在git可能性许多代码管理工具中配置的私钥。

②系统管理中Jenkins SSH Key是指SSH链接服务器所提供的私钥。

2.maven配置

可能性你会在系统配置中换成maven的配置句子,都后能 在管理中下载Maven Integration plugin使用系统的maven环境。

Jenkins+Docker篇

1.以打包另一个 java项目为例,实际的Dockerfile应该原来考虑,可能性Jenkins打包是进入自身的工作路径(/home/user/.jenkins/jobs/zhoutimo/workspace),许多Dockerfile最好插进此路径之中,打包好的Java包会插进工作路径下的target

输出到log日志,方便启动遇到问提时,都后能 有效检查出问提。

②Jenkins的路径

当启动完Jenkins后,小伙伴们不须以为Jenkins没人 生成文件,默认的Jenkins项目路径是在当前用户的/home/user/.jenkins里边(具体文件含义都后能 自行查阅)。

2.Jenkins管理员密码忘记

可能性默认的Jenkins管理员密码忘记时,都后能 进入/home/user/.jenkins路径找到config.xml文件,删除以下两行

FROM daocloud.io/library/java:openjdk-8u40

MAINTAINER zhoutimo

COPY target/zhoutimo.jar /usr/src/myapp/

EXPOSE 115005

最后使用docker build完成镜像的创建,最后上传镜像

删除完毕后,重启Jenkins,直接用管理员账号进入,后来 再修改管理员的密码,不然会有安全问提,切记!

3.Jenkins+Docker原理

①从代码仓库拉取最新的代码。

②Jenkins主机打包编译代码。

③Jenkins主机使用Dockerfile生成最新的镜像,并push到仓库。

④Docker主机pull最新的镜像,删除旧的容器,并生成最新的容器,完成部署上线。

#!/bin/bash

docker stop Test-zhoutimo

docker rm Test-zhoutimo

docker rmi registry-internal.cn-hangzhou.aliyuncs.com/zhoutimo/zhoutimo:1.1

docker run -d –name Test-zhoutimo –restart=always -p 115005:115005 -w /usr/src/myapp registry-internal.cn-hangzhou.aliyuncs.com/zhoutimo/zhoutimo:1.1 java -jar zhoutimo.jar

在Devops的大环境下,持续构建工具Jenkins也有最新的技术了,网上亦有许多Jenkins相关的文章,此文是许多人在学习和实践中总结的心得,希望能帮助遇正在踩坑的小伙伴!

原理篇

1.CI/CD原理

CI(Continuous Integration)持续集成,CD(Continuous Delivery) 持续交付(当然也有叫 Continuous Deployment)通常会采用许多软件如Jenkins、Drone、Travis、Gocd等来辅助项目流程。CI/CD都后能 与Git SVN等代码管理仓库集成,帮助使用者实现自动化任务。

阿里云篇

1.阿里云也推出了这种的持续集成发布工具CodePipeline,许多人的理解也后来 Jenkins的二次开发版。都后能 建议使用此工具,不过CodePipeline还是有一定的不够:

①.目前只限定了另一个项目的发布。

②.非要自定义maven依赖的包。

2.可能性项目服务器是ECS句子,都后能 建议使用阿里云的容器镜像服务进行镜像的管理,其优点非常明显:

①免费使用。

②都后能 使用内网传输,速率相当的快速!

Tips:里边的那个.是表示当前路径,请勿删除

2.每次Dockerfile完成后,新上传的images会替换仓库内旧的images,不须担心冲突问提。

3.Docker主机创建最新的容器脚本

安装篇

1.Jenkins的部署

①自定义搭建Jenkins服务,都后能 注意的是,启动的依据最好是后台依据启动

docker build -t registry-internal.cn-hangzhou.aliyuncs.com/zhoutimo/zhoutimo:1.1 .

docker push registry-internal.cn-hangzhou.aliyuncs.com/zhoutimo/zhoutimo:1.1

nohup java -jar jenkins.war -httpPort=150150 >> log 2>&1 &



2.Jenkins原理

①定时拉取代码并编译可能性自定义触发器hock拉取代码

②打包发布版本

③分析打包编译后的结果

④完成编译后的自定义操作

<useSecurity>true</useSecurity>

<authorizationStrategy class=”hudson.security.FullControlOnceLoggedInAuthorizationStrategy”>



<securityRealm class=”hudson.security.HudsonPrivateSecurityRealm”>