golang-jenkins学习

281 阅读1分钟

学习目的

使用jenkins工具完成持续集成和持续部署的工作。在项目交付的过程中,需求方需要一周查看一次项目进度;于是,需要我们将项目多次发布的服务器上,这样产生了大量重复打包提交至服务器的手工工作。希望使用jenkins的功能特性以减少重复性劳动。

环境

使用centos环境,搭配jenkins的docker官方镜像,代码托管用的CODING DevOps - 一站式软件研发管理平台-腾讯云平台。

因为后端是golang项目,需要在本机配置golang环境,使用了git和make工具

composefile

有些需要从原始镜像拷贝出来再复制进去

version: '3.1'
services:
  jenkins:
    image: jenkins/jenkins:jdk11
    container_name: jenkins
    ports:
      - 9090:8080
    environment:
      - GO111MODULE=on
      - GOROOT=/usr/local/go
      - GOPATH=/home/gopath
      - GOPROXY=https://goproxy.cn,direct
      - NODE_HOME=/var/jenkins_home/node
      - PATH=/var/jenkins_home/node/bin:/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/go/bin:/home/gopath/bin:/root/bin
    volumes:
      - jenkins_data:/var/jenkins_home
      - /usr/local/go:/usr/local/go
      - /usr/bin/make:/usr/bin/make
      - /root/gopath:/home/gopath
      - /usr/local/git:/usr/local/git
      - /root/.ssh:/var/jenkins_home/.ssh
      - /usr/local/nodejs/node16:/var/jenkins_home/node
    privileged: true

volumes:
  jenkins_data:
    driver: local

公钥部署

  1. 需要在本机配置.ssh密码,并复制到docker镜像中
  2. 将公钥配置到coding的仓库代码中
  3. Jenkins中要配置.ssh的密钥

建立项目

使用pipeline的语法

参考

配置 SSH 公钥 - CODING 帮助中心

Jenkins

Jenkins and Docker

Jenkins安装插件提速 - 东北小狐狸 - 博客园 (cnblogs.com)

发布部署