jenkins一键部署、发代码教程

发布时间:2020-09-25 10:53:46编辑:文明阅读(790)

    jenkins的作用和它的图标表现出来的一样,就是为了做工作的时候,能够比较轻松,像一个绅士一样游刃有余。

    一、安装

    1、进入官网,找到download

    找来找去,在最下面有个.war

    因为我是做java的,最喜欢一键安装

    下载。

    然后找到documentation,getting started

    现在已经学会看英文官网了,还是强烈推荐看官网,都是一个套路

    download-->documentation-->geting start

    我的端口在9900,很开心,启动起来了。启动的过程中会有admin的密码,等下登录用的(如果没有留意到,等下也有介绍admin的密码)。

    二、配置

    但是一个war包启动起来的,我想配置东西怎么办,或者说,配置文件怎么办。我是root账户,启动后,jenkins的配置文件就在

    /root/.jenkins下面

    其中,admin初始化密码文件就在secrets这个文件下面的这个文件里initialAdminPassword。

    其他的配置,大家根据需要去配置。

    三、jenkins使用

    1、新建账户:

    首先用admin账户登录进去,在系统管理-->管理用户-->新建用户   里面新建账户。

    2、配置安全策略

    由于jenkins默认是任何人可以访问该系统,相当于裸奔,所以需要配置安全策略

    系统管理-->全局安全配置-->授权策略

    将它改为安全矩阵,添加需要的账户,给特定的人勾选上所需的策略,这样就安全了

    3、添加节点(添加机器)

    jenkins的机器和测试环境的机器一般不会在同一台机器,多个测试环境,也有可能在多个机器上面。暂且先增加一个机器作为官网的测试环境。

    系统管理-->管理节点-->新建节点

    节点名称你们可以命名为:项目+test+env之类的,个人奇葩的认为ip比较好记,就命名为机器ip,例如190(不用担心,内网,你们访问不到的),选择固定节点--->ok

    描述:随便写

    远程工作目录:以后你的数据存在哪里(不知道就先写一个试一下,用了就知道)

    启动方式:选择使用ssh登录,主机ip写上,add账户名密码之后,左边就可以选了

    保存即可来到机器列表

    点击机器,然后启动代理

    启动过程中可能会报错,

    1)机器无法ssh连接的问题

    2)jdk环境变量的问题

    3)构建应用的时候时候会有权限的问题,我们将目录的权限赋值给用户就行了

    4、验证机器

    jenkins能否在代理节点上执行命令,关系到能否一键部署,所以先测试机器

    回到首页,新建任务test190----->构建一个自由风格的软件项目,保存

    然后有一个地方一定要勾选

    这样程序才会在你要的节点上运行

    倒数第二个:构建

    增加构建步骤--->执行shell

    保存,点击任务,选择立即构建

    完成之后点击圈圈

    然后点击控制台输出,看到如下log,说明成功

    四、部署应用

    有了上面的步骤之后,部署应用很简单了。这里以从代码服务器(gitbucket)拉取代码并部署为例子

    1、新建任务--->输入名称--->构建自由软件风格的项目-->保存

    2、限制项目运行节点

    3、源码管理,选择git

    把代码服务器的地址和名称添加上去(也可以使用私钥,这里可以另行去查阅资料)

    然后再构建下面添加脚本

    这里有几点需要说明和注意的

    1)BUILD_ID=DONTKILLME是为了构建完成之后,jenkins不会把我们的进程杀掉,不然进程启动了马上被杀了

    2)./etc/profile是为了添加环境变量,不然mvn指令都找不到,虽然添加了,就是这么奇葩

    3)最后暂停10s也是踩坑出来的。为什么加了DONTKILLME 大大大大大大大大大大哥别杀我 我我我我我我我我我把枪都给你之后,程序还是没有启动起来呢??

    简直是出人意料匪夷所思百思不得其解辗转反侧难以入眠。。。

    不知道为啥我突然想到在后面加10s的暂停时间。

    因为最后一句代码启动程序,程序还没有启动起来,就BUILD SUCCESS了,也就是退出了。所以我加了暂停10s再退出,好让程序的启动做做准备!

    4、最后,运行项目只要立即构建就可以了

    5、扩展:这个还只是一键部署的,因为考虑到我们用的微服务,各个项目之间有依赖,所以首先做成一键部署,好控制各个项目的先后启动关系。后面可以用gitbucket的webhook,每次提交代码都自动部署,这样就连操作都不用了。

    一步一步,慢慢来。

     

关键字jenkins

    还没有小伙伴评论,快来抢沙发啦~~!