(4)devops动手实践,在家也可以玩--逐步搭建(jenkins搭建、代码拉取)(2/5)

jenkins是连接代码、构建、发布的桥梁,我们可以简单认为他是一个任务编排工具,安装jenkins,我们依然使用docker安装

jenkins安装

在宿主机 192.168.93.120(tool)上安装jenkins

首先创建目录:/usr/local/docker/jenkins_docker目录,在目录下创建文件 docker-compose.yml,内容如下

version: '3.1'
services: 
  jenkins:
    image: 'jenkins/jenkins:2.319.1'
    container_name: jenkins
    restart: always
    ports:
      - '8080:8080'
      - '50000:50000'
    volumes:
      - './data/:/var/jenkins_home/'

新建/usr/local/docker/jenkins_docker/data目录,为了方便演示,直接赋予最高权限

chmod -R 777 data

然后在当前文件目录下执行以下命令,启动容器

docker-compose up -d

验证jenkins

访问 192.168.93.120:8080,稍等一会儿,即可看到jenkins,初次访问需要原始密码,执行以下命令查看原始密码:

docker-compose logs -f

(4)devops动手实践,在家也可以玩--逐步搭建(jenkins搭建、代码拉取)(2/5)_第1张图片

 或者进入容器,查看密码文件

docker exec -it jenkins bash
cat /var/jenkins_home/secrets/initialAdminPassword

(4)devops动手实践,在家也可以玩--逐步搭建(jenkins搭建、代码拉取)(2/5)_第2张图片

 选择默认插件安装,提示安装失败的插件,也不用管,后续用到什么插件,我们再单独安装什么插件。安装过程大概20分钟

(4)devops动手实践,在家也可以玩--逐步搭建(jenkins搭建、代码拉取)(2/5)_第3张图片

配置代码拉取

1、代码拉取需要“Pipeline”插件支持,请确认该插件已经安装完成。

2、请在git新建项目,用于测试,为了方便测试,新建的项目可以设置公开项目。

3、我们采用流水线方式,构建项目,流水线模式,可以自定义N个阶段,每个阶段,通过命令干一件事。所有命令,都可以使用流水线语法进行翻译,翻译成流水线专有语法,后续会详细讲解。

4、在jenkins新建流水线项目

(4)devops动手实践,在家也可以玩--逐步搭建(jenkins搭建、代码拉取)(2/5)_第4张图片

 5、输入项目名称,并选择流水线(4)devops动手实践,在家也可以玩--逐步搭建(jenkins搭建、代码拉取)(2/5)_第5张图片

 6、流水线配置里面,选择高级,如图设置。注意指定分支(如果是最新的gitlab,默认分支不再是master,而是main)(4)devops动手实践,在家也可以玩--逐步搭建(jenkins搭建、代码拉取)(2/5)_第6张图片

7、在项目代码根目录下,我们新建“Jenkinsfile”文件,一定要设置为这个名字,是固定的,当然,你可以在流水线高级里面配置,在这我们先不修改

文件骨架内容如下,先做测试

pipeline {
    agent any
    stages {
        stage('拉取代码') {
            steps{
                echo '拉取代码成功'
            }
        }
        stage('构建代码') {
            steps{
                echo '构建代码成功'
            }
        }
        stage('代码检测') {
            steps{
                echo '代码检测成功'
            }
        }
        stage('制作镜像') {
            steps{
                echo '制作镜像成功'
            }
        }
        stage('推送到HUB') {
            steps{
                echo '推送到HUB成功'
            }
        }
        stage('传输yml文件传输到master') {
            steps{
                echo '传输yml文件传输到master成功'
            }
        }
        stage('远程执行容器化部署') {
            steps{
                echo '远程执行容器化部署成功'
            }
        }
    }
}

8、点击项目中的“立即构建”,如果出现下图,则说明成功

(4)devops动手实践,在家也可以玩--逐步搭建(jenkins搭建、代码拉取)(2/5)_第7张图片

 9、接下来,我们的配置工作,主要在编写调整 Jenkinsfile 文件,这里有个技巧,可以点击流水线语法,在实例步骤里面,选择我们想要做的动作,然后系统会生成对应的流水线语法,然后复制粘贴到对应阶段即可,这里我们以拉取代码示例

(4)devops动手实践,在家也可以玩--逐步搭建(jenkins搭建、代码拉取)(2/5)_第8张图片

 (4)devops动手实践,在家也可以玩--逐步搭建(jenkins搭建、代码拉取)(2/5)_第9张图片

按图配置,然后 选择“生成流水线脚本”

(4)devops动手实践,在家也可以玩--逐步搭建(jenkins搭建、代码拉取)(2/5)_第10张图片

 复制生成好的内容,粘贴到对应阶段,然后我们再push代码到仓库,再构建项目,此时“Jenkinsfile ”文件如下图

pipeline {
    agent any
    stages {
        stage('拉取代码') {
            steps{
                checkout scmGit(branches: [[name: '*/main']], extensions: [], userRemoteConfigs: [[url: 'http://192.168.93.120:8989/root/devops-demo.git']])
            }
        }
        stage('构建代码') {
            steps{
                echo '构建代码成功'
            }
        }
        stage('代码检测') {
            steps{
                echo '代码检测成功'
            }
        }
        stage('制作镜像') {
            steps{
                echo '制作镜像成功'
            }
        }
        stage('推送到HUB') {
            steps{
                echo '推送到HUB成功'
            }
        }
        stage('传输yml文件传输到master') {
            steps{
                echo '传输yml文件传输到master成功'
            }
        }
        stage('远程执行容器化部署') {
            steps{
                echo '远程执行容器化部署成功'
            }
        }
    }
}

构建完成后检查日志 

(4)devops动手实践,在家也可以玩--逐步搭建(jenkins搭建、代码拉取)(2/5)_第11张图片

我们可以看到,已经从git拉取了代码

(4)devops动手实践,在家也可以玩--逐步搭建(jenkins搭建、代码拉取)(2/5)_第12张图片

 我们再去jenkins的工作目录验证

进入容器内部(在tool机器执行)

docker exec -it jenkins bash
cd /var/jenkins_home/workspace/devops-demo
ls

我们可以看到,在jenkins的工作目录workspace下面,已经有项目devops-demo目录,并且目录内,也有了我们的项目文件。自此,第一步拉取代码完成。接下来我们将使用maven来构建我们的项目,将源码构建成jar包。


《上一篇:(3)devops动手实践,在家也可以玩--逐步搭建(git搭建)(1/5)》  总目录  《下一篇:(5)devops动手实践,在家也可以玩--逐步搭建(代码构建)(3/5)》

你可能感兴趣的:(devops实践,jenkins,devops,运维)