zoukankan      html  css  js  c++  java
  • 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>
  • 相关阅读:
    sublime使用
    eclipse导入工程中文乱码
    npm 代理
    栈和堆
    Linux常用命令大全
    Google云开启SSH登录方法
    景安快运挂在磁盘-支持宝塔
    discuz 批量删除回复并且保留主题的方法,亲测3.4版本通过
    博客园去掉页面的广告的方法
    WordPress忘记后台登录地址时怎么办?万能登录地址
  • 原文地址:https://www.cnblogs.com/yhq1314/p/11158701.html
Copyright © 2011-2022 走看看