zoukankan      html  css  js  c++  java
  • centos7安装jenkins,集成github实现自动化部署

    1.下载安装包

    wget https://pkg.jenkins.io/redhat/jenkins-2.252-1.1.noarch.rpm

    2.安装

    rpm -ivh jenkins-2.252-1.1.noarch.rpm

    3.修改监听端口(如果是服务器,记得去开放这个端口)

    vim /etc/sysconfig/jenkins
    #监听端口

    JENKINS_PORT="8888"

    4.修改权限

    为了不因为权限出现各种问题,这里直接使用root

    修改用户为root

    vim /etc/sysconfig/jenkins

    #修改配置

    $JENKINS_USER="root"

    5.修改目录权限

    chown -R root:root /var/lib/jenkins

    chown -R root:root /var/cache/jenkins

    chown -R root:root /var/log/jenkins

    6.配置jdk路径(Jenkins默认jdk路径为/usr/bin/java)

    查看jdk安装路径 echo $JAVA_HOME

    vim /etc/rc.d/init.d/jenkins,将jdk路径添加到下面(注意:后面要加/bin/java)

    7.启动jenkins

    service jenkins start

    如果有警告:Starting jenkins (via systemctl):  Warning: jenkins.service changed on disk. Run 'systemctl daemon-reload' to reload units.

    执行一下systemctl daemon-reload就OK了

     8.访问(路径为p+端口)

    查看登录密码:cat /var/lib/jenkins/secrets/initialAdminPassword

    ========================至此,jenkins安装完毕,下面集成github实现自动化部署=======================================

    1.在Github上获取访问token的值,需要一个对项目有写权限的账户

    如果要实现自动构建的话,Jenkins需要获得远程代码仓库Github的读取权。

    点击右上角的 Github --> setting --> Developer settting --> Personal access tokens -> 点击Generate new token 填写如下所示的内容:

    创建成功后,会生成一个token的值如下:

    2.Github webhooks设置

    进入Github上指定的项目 --> setting -> WebHooks --> add webhook, 如下图所示:

     3.jenkins安装Github Plugin插件

    可选插件搜索github(别选错了)

     4.配置github

    Manage Jenkins -> Configure System -> Github -> 点击添加Github服务器, 如下图所示:

     API URL 默认为:https://api.github.com,我们不动它,然后凭据点击 Add添加,如下图所示:

    如上,我们之前已经生成了token之后。在如上配置中,我们页面中的类型选择 Secret text,在Secret中黏贴Github生成的Token,id和描述可以随便写,或不填。

    最后点击添加按钮后,会回到主页面,在凭据中选择我们刚才创建的凭据,然后我们点击 "链接测试"。如果没有成功的话,则需要返回重新操作以上步骤,如下所示,我们只要点击保存完成配置即可,如下图所示:

     到这里,github基础配置已经完成了。

    5.Jenkins中创建任务

    1) 点击创建一个新任务,如下图所示:

    输入一个任务名称,比如叫 testJekins, 然后选择第一项即可。如下图所示:

    因此准备工作已经完成了,我们输入任务名称后,选择第一项后,点击底部的确定按钮,就可以进入下一步的页面了,如下图所示:

    如上选择Github,填写项目的URL,该地址是我们Github上的主页地址,不是github资源地址。

    2)源码管理配置

    打开刚刚我们创建的任务,切换到 "源码管理" tab项,然后在左侧选择 Git,然后我们把我们的github项目中的仓库地址,添加配置登录名和密码(点击添加会弹出一个框,我们默认操作就行),及分支。如下图所示:

    3)构建触发器

    4)构建环境,构建后执行的shell脚本,通过为项目打包+部署的shell命令

     此时,你点击“构建”,则会将github中的代码拉到jenkins,默认目录在jenkins安装目录的workapace下面

    要想实现项目打包+部署,就要根据自己的项目,编写相应的脚本了

    如果是springboot项目可以参考我的脚本

    #jenkins的工作目录为/var/lib/jenkins/workspace
    #首先进入要打包的项目文件夹
    cd /var/lib/jenkins/workspace/项目名
    #编译之前先clean,再跳过单元测试
    mvn clean package -Dmaven.test.skip=true
    echo '项目打包完成'
    #停止正在运行的镜像
    docker stop 项目名
    #删除镜像
    docker rm 项目名
    #删除容器
    docker rmi 项目名
    #重新构建
    cd target
    docker build -t 项目名 -f ../DockerImgBuild/Dockerfile.dev .
    #启动
    docker run -d --restart=always --name 项目名 -p 8001:8001 项目名
    echo '项目启动成功'
    

    注:在项目的src同级目录建一个DockerImgBuild,在里面创建一个文件叫做Dockerfile.dev,用来构建docker镜像

    FROM java:8
    MAINTAINER 作者名
    ADD 项目名-0.0.1-SNAPSHOT.jar 项目名.jar
    EXPOSE 8001
    ENTRYPOINT ["java","-jar","项目名.jar"]
    

     

  • 相关阅读:
    bzoj3729-Gty的游戏【Splay,博弈论】
    pkusc2021游记
    P4922-[MtOI2018]崩坏3?非酋之战!【dp】
    P5782-[POI2001]和平委员会【2-SAT】
    CF1511G-Chips on a Board【倍增】
    noip范围
    [LGOJ5558]心上秋(倍增)
    学习笔记——动态DP
    [NOIP校内集训]不正常的国家
    [BZOJ4712]洪水(树链剖分+DP)
  • 原文地址:https://www.cnblogs.com/uzxin/p/13644629.html
Copyright © 2011-2022 走看看