zoukankan      html  css  js  c++  java
  • 从0开始搭建自动部署环境(续)

    从0开始搭建自动部署环境(续)

    前言

    上一篇从0开始搭建自动部署环境虽然环境搭建起来了,但是配置少了一部分步骤。本来应该写到上一篇中,但是这样做篇幅过长了。另外,此篇会使用自动部署一个同步在Github上的Spring Boot项目为例,介绍如何使用该自动部署环境。

    配置Global Tool Configuration

    继上一篇,登录jenkins,完成上一篇没有完成的后续配置。Jenkins——》系统管理——》Global Tool Configuration,在其中配置JDK、git、Maven。

    Tool Configuration
    JDK 别名=openjdk1.8.0
    JAVA_HOME=/usr/lib/jvm/java
    git Name=git
    Path to Git executable=/usr/bin/git
    Maven Name=maven3.5.2
    MAVEN_HOME=/opt/apache-maven-3.5.2

    安装插件并重启

    • Maven Integration plugin (Maven集成,否则新建的时候没有Maven Project)
    • Deploy to container Plugin (部署到Java容器中的插件)
    • Publish Over SSH (远程Shell)
    • Monitoring (监控Jenkins所消耗的系统资源,如内存使用等)

    插件安装完成后需要重启jenkins。http://ip:8080/restart就能重启jenkins。

    创建Docker本地仓库

    参考Docker Registry 2.0

    docker run -d -p 5000:5000 --restart always --name registry registry:2
    

    新建项目

    hello项目是我写的一个用来测试环境的Spring Boot项目,代码托管在github上。我想实现的是:jenkins每隔15分钟自动检查github上的hello项目源码,如果项目有更新,就自动获取更新打包部署。

    新建——》构建一个Maven项目。名称就叫hello,点击“OK”跳转到项目配置页面。具体配置如下:

    • 源码管理——》Git,Repository URL值为https://github.com/jeesun/hello
    • 构建触发器——》Poll SCM——》日程表,值为H/15 * * * *(设置每隔15分钟做一次检查)
    • Build——》Goals and options,值为clean package docker:build
    • Post Steps——》Add post-build step——》Execute shell,内容为
    API_NAME="hello"
    API_VERSION="0.0.1"
    API_PORT=8761
    IMAGE_NAME="127.0.0.1:5000/com.jeesun/$API_NAME:$BUILD_NUMBER"
    CONTAINER_NAME=$API_NAME-$API_VERSION
    
    cd $WORKSPACE/target
    cp classes/Dockerfile .
    docker tag 127.0.0.1:5000/com.jeesun/$API_NAME $IMAGE_NAME
    docker push $IMAGE_NAME
    
    cid=$(docker ps | grep "$CONTAINER_NAME" | awk '{print $1}')
    if [ "$cid" != "" ]; then
     docker rm -f $cid
    fi
    
    docker run -d -p $API_PORT:8080 --name $CONTAINER_NAME $IMAGE_NAME
    

    配置完成后,点击“Save”。选择页面左侧的“立即构建”,如果顺利,访问http://ip:8761,页面出现hello, new world,说明成功。

    注意事项

    如果无法访问http://ip:8761,需要确认防火墙是否关闭,或者选择开放8761端口。

    参考

    1. jenkins new job 没有maven项目选项
    2. 使用Jenkins实现自动构建Maven项目
    3. Docker Registry 2.0
  • 相关阅读:
    wpf passwordbox控件 光标移到最后
    C#程序 给IE网页IFRAME控件中所嵌入网页的元素赋值
    C#客户端填充外部IE浏览器中网页文本(input)且不提交
    C# 获取当前网页HTML
    WPF 带有提示文本的透明文本框
    C# 导出Excel文件 所导出文件打开时提示“Excel文件格式与扩展名指定格式不一致”
    php生成验证码
    Python命名规范
    UE4碰撞规则详解
    四大编程思想简述
  • 原文地址:https://www.cnblogs.com/rainmer/p/7902476.html
Copyright © 2011-2022 走看看