zoukankan      html  css  js  c++  java
  • jenkins发布普通项目、配置自动上线自动部署

    1.以root用户运行jenkins是不专业的

    刚开始用jenkins时用jenkins这个普通用户运行程序,始终无法连接到gitlab,报错如下:

    先是把修改jenkins上的git路径,将git修改为/usr/local/git/bin/git

    ll /usr/bin/git
    /usr/bin/git -> /usr/local/git/bin/git

    然后修改运行jenkins的用户:

    vi /etc/sysconfig/jenkins
    JENKINS_USER="root"
    chown -R root:root /var/lib/jenkins
    chown -R root:root /var/cache/jenkins
    chown -R root:root /var/log/jenkins
    service jenkins restart
    

    这样做,在只有内网IP的服务器上倒还行,但这可能会显示出你比较vegetable,改成root之后,不再报错:

     

    2.配置凭据Credentials来打通gitlab

    先恢复之前的状态,即:将运行用户改为jenkins,各目录属主、属组也改为jenkins,jenkins地址:http://10.0.0.25:8080

    前提:

    a.git版本不能过低
    git --version
    git version 2.7.4
    b.从本机可以克隆gitlab仓库,即公钥已经拷贝到gitlab上了
    ssh-keygen -t rsa -C "test@163.com"
    cd /root/c++
    git init
    git config --global user.name "root"
    git config --global user.email "test@163.com"
    cat ~/.ssh/id_rsa.pub
    # 这里是把root的公钥拷到了gitlab的管理员用户的SSH Keys中
    git clone git@10.0.0.26:Linkdood-yw/prelogin.git
    

    3.开始创建

    a.目前要克隆的仓库地址是:git@10.0.0.26:Linkdood-yw/prelogin.git

    b.选择ssh密钥和证书,然后选择直接输入,将私钥复制到下框中即可

    c.选择刚才创建的证书,完成后,选择构建

    d.选择构建,拉到最底部,选择使用shell脚本

    脚本内容:cp -arf * /data/www

    mkdir -p /data/www

    chown -R jenkins.jenkins /data/www/

    服务器/data/www目录,结果展示

    小结:这部分的认证只是单方面的,即:在jenkins上创建了一个有gitlab用户私钥的凭据,每次拉取代码时,拿着这个凭据就可以获得gitlab的"信任".

    4.gitlab更新代码以后,jenkins指定的project自动部署

    a.前提:jenkins上已经安装了gitlab插件,这个插件允许GitLab触发Jenkins构建并在GitLab UI中显示它们的结果.

    b.进入全局凭据页面

    c.添加新凭证

    d.从gitlab设置中将token复制过来,将复制的token粘贴到api token中,点击ok即可

    e.系统全局配置中设置gitlab,并测试能否连通jenkins

    f.打开项目,编辑项目的构建触发器

    g.点击高级,点击Generate,生成项目token

    h.在gitlab上配置连接jenkins,将jenkins的项目token与URL复制到gtilab中

    i.保存之前进行测试,测试成功后保存即可

    j.在gitlab上上传文件,进行测试即可

    在日志中显示是 Started by GitLab push by Administrator,即表示自动集成成功

    有些项目需要自动触发,有些不需要,需要时,再项目配置中设置--构建触发器即可.

    参考博客-大牙啊:http://blog.51cto.com/13520772/2090056

    参考博客-鹏岚:https://www.cnblogs.com/peng-lan/p/9605333.html

  • 相关阅读:
    Python(九)之网络编程
    Bat命令
    Python(八)之函数
    RedHat下安装Python开发环境
    Redhat6.5安装DB2 Express-C版本
    Linux下字符集的安装
    Linux命令之stty
    AIX查看CPU、内存等信息
    stopManagedWebLogic.sh强制关闭Managed Server
    Keepalived + Nginx + Tomcat 的高可用负载均衡架构搭建
  • 原文地址:https://www.cnblogs.com/fawaikuangtu123/p/10295571.html
Copyright © 2011-2022 走看看