• Jenkins集成maven/gitlab-代码拉取


    Jenkins插件-加速-上传安装-离线安装
    1.加速插件(国外的源替换成国内的源-->系统管理-->插件管理-->高级-->升级站点-->修改URL)

    配置Jenkins

    Manage Jenkins>Manage Plugins>Advanced

    直接搜索插件进行安装-这方法比较慢

    2.手动上传.hpi的插件(手动网站下载一个.hpi文件,然后 系统管理-->插件管理-->高级-->上传插件 )
    选择上传文件方式安装- 在清华源Jenkins的插件库下载好

     安装Maven插件

    1.安装maven(前提配置好jdk 略……)

    wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz
    tar -xzf  apache-maven-3.3.9-bin.tar.gz
    mv  apache-maven-3.3.9   /usr/maven/

    ======配置maven环境变量=======
    vim /etc/profile
    export MAVEN_HOME=/usr/maven
    export PATH=${PATH}:${MAVEN_HOME}/bin

    source /etc/profile 使配置生效

     2.Jenkins系统环境变量设置

    Jenkins集成Gitlab

    1.Jenkins为什么要集成Gitlab
    因为我们需要依托Jenkins将Gitlab上的项目获取至本地,为后续网站的代码发布工作做好准备。
     
    2.Jenkins如何集成Gitlab
    由于Jenkins只是一个调度平台,所以需要安装gitlab相关的插件即可集成。
     
    3.Jenkins与Gitlab集成思路
    1.开发提交代码至Gitlab
    2.Jenkins安装Gitlab所需插件
    3.Jenkins创建freestyle项目。然后配置gitlab仓库项目对应地址
     
    4.Jenkins与Gitlab实践
    1.切换至gitlab服务,然后导入项目代码。

    2.Jenkins安装Gitlab关联的插件

    插件名称                           插件作用
    Credentials Plugin                允许再Jenkins中存储认证的凭据
    Git Client Plugin                 允许Jenkins使用Git
    Git Plugin                        允许Jenkins集成Git
    Gitlab Plugin                     允许Gitlab触发Jenkins构建并在Gitlab中显示
    GitLab Hook                       允许Gitlab自动触发Jenkins构建项目
    Gitlab Authentication plugin      Gitlab身份验证插件

    3.Jenkins构建一个自由风格的项目freestyle,配置Gitlab仓库代码地址

    需要安装的插件 Maven Integration plugin

    Jenkins服务器与Gitlab服务器建立免密钥链接

    #Jenkins服务生成密钥,将公钥复制到Gitlab的某个项目中
    [root@jenkins ~]# ssh-keygen 
    [root@jenkins ~]# cat /root/.ssh/id_rsa.pub 
    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDS60zGGzy5gqtNIPGYJ4wLkjd5iIoXSzHy6Ec5BcXbB0RV5LOOTi67bhl1VZRhQqZtg8lCQGJny4CspFtLo1da0Q8y0tmE2Z2uU/d9HRJXTZEIdlW3uX1mV02FfpAQEB11ohHiYZlMgt3gCBi+t3drFXAv8tNugUoPSCpb90l2CJck6jlyKsiBTmObohIYCu4q2oj6ggfKkXmq/wqggK2470jzChmap6RIDQ6FqliTl+GabbwsIk2Yq/2Fl7uo3MwEkKSFd6RZW5G/AfMonrAhM8hTsmZtHxctIht3ddWIL58WU2hpN7HCp+3MhACY5XUhQ2i7GIHaMQSPKRwmHNUH root@localhost.localdomain
    
    #测试
    [root@jenkins ~]# git clone git@gitlab.precious.com:python-web/cmdb.git
    Cloning into 'cmdb'...
    remote: Enumerating objects: 8, done.
    remote: Counting objects: 100% (8/8), done.
    remote: Compressing objects: 100% (5/5), done.
    remote: Total 8 (delta 0), reused 8 (delta 0), pack-reused 0
    Receiving objects: 100% (8/8), done.

     复制gitlab仓库的项目URL地址到Jenkins中

     Jenkins的私钥

    [root@jenkins ~]# cat ~/.ssh/id_rsa

    查看Jenkins拉取的代码

    [root@jenkins ~]# find / -name freestyle
    /root/.jenkins/jobs/freestyle
    /root/.jenkins/workspace/freestyle
    [root@localhost ~]# ll /root/.jenkins/workspace/freestyle
    total 8
    -rw-r--r--. 1 root root 43 Dec 11 09:23 fdd.sh
    -rw-r--r--. 1 root root 43 Dec 11 09:23 fdd.txt
    -rw-r--r--. 1 root root  0 Dec 11 09:23 README.md

  • 相关阅读:
    MQTT的优势
    http与https与tcp区别
    中科芯CKS-MBT30数据采集网关帮助工程师实现PLC远程上下载,减少出差成本
    CKS-MAT30远程程序上下载 支持欧姆龙西门子等PLC 远程下载、监控
    西门子S7以太网通讯协议
    DK云网关与普通DTU之间的区别
    腾讯笔试题
    二叉搜索树
    哈希,链接法解决冲突
    将16进制字符串转化为10进制数输出
  • 原文地址:https://www.cnblogs.com/fengyuanfei/p/13825518.html
Copyright © 2020-2023  润新知