美文网首页
持续集成(harbor jenkins gitlab k8s)

持续集成(harbor jenkins gitlab k8s)

作者: 草丛里的黄盖 | 来源:发表于2020-08-31 19:56 被阅读0次

    本文章仅作为个人笔记

    文章 参考

    • 安装jenkins (下面列出多种方式,选一种即可)

      • jenkins docker下安装 占用8080/50000端口

        docker run -p 8180:8080 -p 50000:50000 --name jenkins -d jenkins/jenkins
        
      • yum安装jenkins

        wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo
        rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key
        yum install jenkins
        
      • war安装jenkins

        wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/war/2.253/jenkins.war
        # 运行jenkins,可自己指定端口
        java -jar jenkins.war --httpPort=8080
        # 如果安装的插件比较多,可更改为国内仓库: https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
        
      • 安装好进行一些必要的操作

        # 查看jenkins初始登录密码(docker logs jenkins基本可搞定,下面的cat为容器内执行,为特殊情况下使用)
        # cat /var/jenkins_home/secrets/initialAdminPassword
        # 安装必要的插件(很多插件基本在初始化时已经装好了) Kubernetes/GitLab
        
      • 基本工具创建完毕,开始进行项目相关配置( gitlab + jenkins )

      • jenkins服务器内运行

        # 如果已经有key可以不用做这一步
        ssh-keygen
        # 输出的值为公钥
        cat ~/.ssh/id_rsa.pub
        # 输出的值为私钥
        cat ~/.ssh/id_rsa
        
      • git gui 操作

        # 提交项目至git
        # 添加git下jenkins用户
        # 为jenkins用户添加相应项目Developer权限
        # 为jenkins用户添加jenkins服务器的key(公钥)
        # 为jenkins用户创建Access Token(勾选api/read_user/red_repository/write_repository)并复制
        
      • jenkins gui 操作

        # 配置gitlab(Manage Jenkins->Configure System -> 配置->Gitlab)
        # Gitlab host URL 填写gitlab访问地址 Credentials 选择新建,类型选择GitLab API token
        # API token填之前git复制的Access Token,新增之后Credentials选择新建的Credentials,Test Connection没有问题选择保存。
        # 配置 Git plugin(Manage Jenkins->Configure System -> 配置->Git plugin)
        # 设置默认用户名及邮箱后保存
        
      • harbor gui 操作

        # 创建jenkins用户
        # 创建项目
        # 为项目添加jenkins用户为开发人员
        
    • 测试

      • 配置完 git/jenkins/harbor在Jenkins管理页面创建任务,起个名字,选择Freestyle project。

        # 源码管理选择git,输入git地址(注意使用 git@git....那个地址),在Credentials添加jenkins
        # 选择SSH Username with private key
        # Username使用jenkins,选择Private Key->Enter direcily,输入之前jenkins容器获取的私钥,选择添加
        # 先应用,再选择构建触发器,勾选Poll SCM,输入 H/1 * * * * 再应用(每分钟检测一次)
        # 选择 构建,添加构建步骤,选择 Execute shell,Execute shell 输入 \cp -r $WORKSPACE /tmp/temp
        # 此处的 \cp -r $WORKSPACE /tmp/temp 为复制代码至 /tmp/temp目录
        # 点击保存,再点击立即构建,查看 /tmp/temp 目录是否存在代码,即可测试配置是否ok。
        
      • gitlab + jenkins 集成完毕,继续 k8s + jenkins

        # Manage Jenkins -> Configure System  -> Cloud -> add a new Cloud -> Kubernets
        # Kubernets Cloud details -> 
        # 名称自定义 地址: https://<ip>:6443 服务器证书key: 具体参考参考
        # kubenetes 命名空间: default 
        # 凭据-> 添加:具体参考参考
        
      • 配置完 git/jenkins/harbor在Jenkins管理页面创建任务,起个名字,选择流水线,复制hookurl 参考

        # 源码管理选择git,输入git地址(注意使用 git@git....那个地址),在Credentials添加jenkins
        # 选择SSH Username with private key
        # Username使用jenkins,选择Private Key->Enter direcily,输入之前jenkins容器获取的私钥,选择添加
        # 先应用,再选择构建触发器,勾选 Build when a change is....,使用默认勾中项或自定义
        # Rebuild open Merge Requests 设置 On push to source branch 
        # 点击高级,点击生成Secret token,并复制 
        # 选择 构建,添加构建步骤,选择 Excute shell
        # 输入构建命令
        chmod +x ./gradlew
        ./gradlew build makeMYSjar
        docker build -t dm .
        docker tag <project_name> <host>:<port>/<library>/<project_name>:<version>
        docker login <host>:<port>
        docker push <host>:<port>/<library>/<project_name>:<version>
        kubectl apply -f /service/temp.yaml --record
        
      • git gui 操作 Admin Area-> System Hooks

        # URL输入之前流水线生成的的hookUrl,以及token。至此webhook关联完成
        

    相关文章

      网友评论

          本文标题:持续集成(harbor jenkins gitlab k8s)

          本文链接:https://www.haomeiwen.com/subject/fxepsktx.html