• Jenkins中创建任务构建作业


    构建作业

    点击创建一个新任务,进入创建项目类型选择页面

     

     填好信息点击“确认”

    配置描述

    配置“源码管理”

    填写源码的git地址

    添加git用户,git的用户名与密码

    选择添加的用户,上面的红色提示信息消失,说明连接成功,如下图

    构建作业

    在构建中配置docker.sh

    #!/bin/bash
    #maven打包
    mvn clean package
    echo 'package ok!'
    echo 'build start!'
    
    #当前项目路径
    cd ./
    
    #打包后项目名字
    service_name="demojenkins"
    
    #项目端口号
    service_prot=8089
    
    #查看镜像id
    IID=$(docker images | grep "$service_name" | awk '{print $3}')
    echo "IID $IID"
    if [ -n "$IID" ]
    then
        echo "exist $SERVER_NAME image,IID=$IID"
        #删除镜像
        docker rmi -f $service_name
        echo "delete $SERVER_NAME image"
        #构建
        docker build -t $service_name .
        echo "build $SERVER_NAME image"
    else
        echo "no exist $SERVER_NAME image,build docker"
        #构建
        docker build -t $service_name .
        echo "build $SERVER_NAME image"
    fi
    #查看容器id
    CID=$(docker ps | grep "$SERVER_NAME" | awk '{print $1}')
    echo "CID $CID"
    if [ -n "$CID" ]
    then
        echo "exist $SERVER_NAME container,CID=$CID"
        #停止
        docker stop $service_name
        #删除容器
        docker rm $service_name
    else
        echo "no exist $SERVER_NAME container"
    fi
    #启动
    docker run -d --name $service_name --net=host -p $service_prot:$service_prot $service_name
    #查看启动日志
    docker logs -f  $service_name

    构建

    构建作业之后,就可以执行构建过程了。

    任务构建完成

    构建结构

     

    查看docker是否启动了

    [root@localhost ~]# ps -ef | grep docker
    root      92902      1  0 11:45 ?        00:00:01 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
    root     100674 100108  0 15:35 pts/3    00:00:00 grep --color=auto docker
    [root@localhost ~]# 

    build now

    点击一下可以看见控制台输出

     

  • 相关阅读:
    MySQL数据库优化详解(收藏)
    怎么设置Linux swap分区?方法教程
    js获取IP地址多种方法实例教程
    JQuery设置获取下拉菜单选项的值 多实例
    JQuery中serialize()、serializeArray()和param()用法举例
    javascript 获取函数形参个数
    mysql SQLyog导入csv数据失败怎么办?
    今天离职了!
    Asp.Net Core 使用Quartz基于界面画接口管理做定时任务
    Asp.Net Core中使用Swagger,你不得不踩的坑
  • 原文地址:https://www.cnblogs.com/ooo888ooo/p/13633023.html
Copyright © 2020-2023  润新知