• gitlab+jenkins 搭建


    继前一篇gitlab,这一篇介绍jenkins搭建并与gitlab进行集成---这里不是详细的步骤

    环境
    系统:centos 7.3

    jenkins版本:jenkins-2.176.1-1.1.noarch

    # vim /etc/selinux/config
    SELINUX=disabled
    # setenforce 0
    # getenforce

    官方安装文档

    https://pkg.jenkins.io/redhat-stable/

    sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
    sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
    yum install jenkins
    # systemctl start jenkins
    http://**:8080/

    第一次打开界面后,会根据提示 添加

    # cat /var/lib/jenkins/secrets/initialAdminPassword

    选择安装插件--推荐安装,全部成功

    --这里如果遇到offline,详细参考文章末尾处理

    实例配置
    Jenkins URL: http://*:8080/

    创建用户,实例配置后,进行使用jenkins

    --插件管理

    --凭据管理

     --创建任务

    --github配置(如果这里添加添加报错,详细见文章末尾)

    --构建触发器

     --gitlab --user settings --access tokens

    创建Personal Access Tokens=****************
    # curl -X PUT --header "PRIVATE-TOKEN: *************"   'http://*****/api/v4/application/settings?allow_local_requests_from_hooks_and_services=true'

    创建gitlab hook

    --RUL是在jenkins对应任务中的rul,token是上面generate生成的token

    在sourcetree客户端等执行git的一系列操作

    然后push

    在jenkins

     

    目前就测试到这里

     --错误处理

    --运行:立即构建,控制台输出
    --1
     > git fetch --tags --progress git@*:dba/mysql_test.git +refs/heads/*:refs/remotes/origin/*
    ERROR: Error cloning remote repo 'origin'
    hudson.plugins.git.GitException: Command "git fetch --tags --progress git@*:dba/mysql_test.git +refs/heads/*:refs/remotes/origin/*" returned status code 128:
    stdout: 
    stderr: Permission denied, please try again.
    Permission denied, please try again.
    Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
    fatal: Could not read from remote repository.

    解决

    解决:
    --1 在gitlab添加ssh key
    user settings--ssh keys/
    [root@jenkins ~]# cat .ssh/id_rsa.pub ##添加该密钥
    --2 在jenkins的工程
    源码管理-git-URL= git@**:root/hq_test.git credentials=root,
    [root@jenkins ~]# cat .ssh/id_rsa ##添加该密钥

    2 offine处理

    分别使用看谁能下载

    wget https://updates.jenkins.io/update-center.json
    wget http://updates.jenkins.io/update-center.json

    看哪一个能ping通,就修改为哪一个,再重启jenkins

    # systemctl stop jenkins
    # systemctl start jenkins
    [root@localhost opt]# find / -name "hudson.model.UpdateCenter.xml"
    /home/data/jenkins/hudson.model.UpdateCenter.xml
    [root@localhost opt]# vim /home/data/jenkins/hudson.model.UpdateCenter.xml 
    <?xml version='1.1' encoding='UTF-8'?>
    <sites>
      <site>
        <id>default</id>
        <url>http://updates.jenkins.io/update-center.json</url>
      </site>
    </sites>
  • 相关阅读:
    switch-case的用法
    关于string
    串的顺序存储和链式存储
    【APIO2009T1】采油区域-分类讨论+动态规划
    【APIO2009T1】采油区域-分类讨论+动态规划
    【BashuOJ2963】数字游戏-DFS+剪枝
    【BashuOJ2963】数字游戏-DFS+剪枝
    【POJ3177】Redundant Paths-边双连通分量+缩点
    【POJ3177】Redundant Paths-边双连通分量+缩点
    【POJ2942】Knights of the Round Table-点双连通分量+判断奇环
  • 原文地址:https://www.cnblogs.com/yhq1314/p/11158701.html
Copyright © 2020-2023  润新知