使用docker安装jenkins以及配置

 1. 容器运行

带dotnet环境的Jenkins:http://www.zkea.net/codesnippet/detail/docker-jenkins-dotnet-core.html

FROM jenkins/jenkins:lts
USER root
WORKDIR /dotnet
RUN wget -O dotnet.tar.gz https://download.visualstudio.microsoft.com/download/pr/ab82011d-2549-4e23-a8a9-a2b522a31f27/6e615d6177e49c3e874d05ee3566e8bf/dotnet-sdk-3.1.407-linux-x64.tar.gz
RUN tar zxf dotnet.tar.gz -C ./
RUN rm -rf dotnet.tar.gz
ENV PATH="${PATH}:/dotnet:/var/jenkins_home/.dotnet/tools"
ENV DOTNET_ROOT="/dotnet"
RUN apt update -y
RUN apt install icu-devtools vim zip unzip -y
RUN usermod -a -G root jenkins
USER jenkins

构建镜像

docker build -t jenkins:dotnet3 .

docker-compose

version: '3.5'
services:
  jenkins:
    image: jenkins:dotnet3
    container_name: jenkins
    restart: always
    environment:
      - TZ=Asia/Shanghai
    ports:
      - 8080:8080
      - 8085:50000
    user: root
    volumes:
      - /opt/docker-v/jenkins/:/var/jenkins_home
      - /opt/docker-v/jenkins/.ssh/:/root/.ssh/
      - /var/run/docker.sock:/var/run/docker.sock
      - /usr/bin/docker:/usr/bin/docker
    networks:
      - mynet

networks:
  mynet:
    driver: bridge

 TODO:怎么安装多个.net环境

 

2. 创建映射目录

mkdir /opt/docker-v/jenkins
chmod 777 /opt/docker-v/jenkins

 

3. 插件安装

输入初始密码后,进入初始插件安装页面,选择推荐插件。当插件开始安装的时候,停止容器。去updates目录配置插件源。

sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json && sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json

再次启动容器,重新输入初始密码,恢复刚刚的插件安装。安装结束后设置密码,进入系统。

进入到插件管理,刷新可选插件。然后再次将上面修改源的命令执行以下。再在插件管理,高级中,修改源。

https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

 重启Jenkins。

 

4. 插件说明

1) 权限管理 Role-based Authorization Strategy(另外安装)

  全局安全策略---->授权策略---->选择Role-Base Strategy--->保存

  manage and assign roles:

    角色:

      global roles

        添加一个base角色,只选Read

        添加一个build角色,只选build(这个角色是后面自动构建时候使用的)

      item roles

        根据项目名称xxx添加,需要配置pattern为xxx.*

    用户:

      系统管理--->用户管理。新建用户test_user

    授权:

      global roles

        给test_user赋予base角色

        给Anonymous赋予build角色(自动构建使用)

      item roles

        给test_user赋予xxx角色

  创建任务,xxx_a、xxx_b进行测试

 

2)凭据管理Credentials Binding

  ssh密钥

  进入容器ssh-keygen -t rsa生成公钥和私钥,这样的公钥和私钥,下面3中使用会报错。建议使用下面密令生成:

ssh-keygen -m PEM -t rsa -b 4096

  进入~/.ssh目录

    id_rsa私钥文件

      系统管理--->Manage Credentials--->全局--->添加凭据--->ssh username with private key

         id: 取个名称,删除后,重新建,不用重新改流水线脚本 

         username: root

         private key: id_rsa

    id_rsa.pub公钥文件

      拷贝到gitlee的ssh key

 

   账号密码密钥:用于推送镜像

    添加凭据,user with password

3)部署Publis over SSH

   进入容器

ssh-copy-id 部署主机

   系统管理-->系统配置-->Publis voer SSH

    Path to key: /

    SSH Server

      Name和Hostname: 主机地址

      Username: root

      远程主机目录

   Test Configuration---> Success

 

4)Gitee

地址:https://gitee.com/oschina/Gitee-Jenkins-Plugin

 

5. 全局工具配置

在docker卷映射目录下,创建一个app的目录,用来存放工具。

1)jdk

  容器自带的jdk,进入容器

    echo $JAVA_HOME

 

2)maven

  进入到app中,创建maven目录。下载maven

    wget https://mirror-hk.koddos.net/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz(失效到官网查找下载地址)

  解压,修改maven配置的源和包的路径

    tar -xzf apache-maven-3.6.3-bin.tar.gz

  修改maven的配置文件镜像地址

  jenkins后台,系统管理-->系统配置--->全局属性--->环境变量

    M2_HOME

      /var/jenkins_home/app/maven/apache-maven-3.6.3

    PATH+EXTRA

      $M2_HOME/bin

  测试,构建脚本

    mvn --version

 

3)nodejs

  需要先安装插件

  系统管理-->全局工具配置-->NodeJS--->安装

    命名,在流水线脚本中使用

    自动安装,选择稳定版本的NodeJS

 

视频地址:https://www.bilibili.com/video/BV1kJ411p7mV

posted on 2021-03-03 11:01  凡一二三  阅读(565)  评论(0编辑  收藏  举报