栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

docker-compose+Dockerfile+gitee+宝塔WebHook自动部署

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

docker-compose+Dockerfile+gitee+宝塔WebHook自动部署

一、配置宝塔及gitee互通 1.安装宝塔WebHook

 安装地址:宝塔

2.配置项目的公钥

        a.linux生成对应的SSH公钥,邮箱为git的邮箱

ssh-keygen -t rsa -C "xxxxx@xxxxx.com"

        b.生成后查看对应的public key公钥信息

cat ~/.ssh/id_rsa.pub

         c.在码云中添加自己服务器的公钥

   

3.配置WebHooks

        a.通过宝塔页面创建一个WebHook

         根据自己的需求进行修改

#!/bin/bash
export MAVEN_HOME=/home/tools/apache-maven-3.6.3
export JAVA_HOME=/home/tools/jdk1.8.0_301
export JRE_HOME=$JAVA_HOME/jre

export PATH=$JAVA_HOME/bin:$PATH:$MAVEN_HOME/bin:$JRE_HOME
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

echo ""
date --date='0 days ago' "+%Y-%m-%d %H:%M:%S"
echo "-------start-------"
gitPath="/www/wwwroot"
gitName="takeaway-java"
gitHttp="git@********.******.git"
echo "git path:$gitPath"
if [ ! -d ".git" ];then
    if [ ! -d "$gitPath/$gitName" ];then
    	cd /$gitPath
      	echo "-------clone this package git-------"
      	git clone $gitHttp
        cd $gitName
    else
    	cd $gitPath/$gitName
    fi
    chmod -R 777 $gitPath/$gitName
    git reset --hard origin/develop
    #git clean -f
    git pull origin develop
    if [ $? -ne 0 ]; then
        echo "-------pull failed-------"
    else
        echo "-------pull succeed-------"
    fi
    
    set -e
    mvn clean package -Dmaven.test.skip=true
    if [ $? -ne 0 ]; then
        echo "-------build failed-------"
    else
        echo "-------build succeed-------"
    fi
    
    echo "-------close docker container-------"
    pid=`docker ps -aqf name=$gitName_service-gateway_1`
    docker stop $pid
    
    pid1=`docker ps -aqf name=$gitName_service-customer_1`
    docker stop $pid1
    
    pid2=`docker ps -aqf name=$gitName_service-management_1`
    docker stop $pid2
        
    echo "-------close docker container successed-------"
    
    echo "-------start gateway--------"
    docker-compose -f docker-compose.yml up -d
    if [$? -ne 0]; then 
        echo "-------gateway faild-------"
    else
        echo "-------gateway successed-------"
    fi
    
    echo "-------start services--------"
    docker-compose -f docker-compose-server.yml up -d
     if [$? -ne 0]; then 
        echo "-------services faild-------"
    else
        echo "-------services successed-------"
    fi
    echo "-------end--------"
fi
exit

        b.查看秘钥,并配置gitee的WebHooks

二、docker相关安装及设置

        官网地址: Docker documentation | Docker documentation

1.安装docker

        传送门:CentOS Docker 安装 | 菜鸟教程

2.安装docker-compose

        传送门:Docker Compose | 菜鸟教程

3.网络配置

        a.创建网络

# --gateway 网关
# --subnet  子网掩码    192.168.0.0/16  从192.168.0.2开始~192.168.255.255
# --driver  连接方式    bridge 桥接
docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 mynet

        b.查看自己创建的网络

docker network insepct mynet

        到此docker相关配置已完成,接下来编排docker相关内容

二、springboot配置docker相关 1.编排Dockerfile
# 基础镜像
FROM java:8
# VOLUME 指定了临时文件目录为/tmp。
VOLUME /tmp
RUN echo "Asia/shanghai" > /etc/timezone
# Ubuntu
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# 将jar包添加到容器中并更名为app.jar
ADD ./target/service-customer-1.0.0-SNAPSHOT.jar app.jar
# 运行jar包
ENV JAVA_OPTS=""
ENTRYPOINT exec java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar
EXPOSE 5001
 2.编排docker-compose.yml
version: '3'
# 自己的服务
services:
  service-gateway:
    build: system/service-gateway
    restart: always
    # 端口映射
    ports:
      - 80:80
    # 运行参数
    environment:
      - JAVA_OPTS=-Xmx512m -Xms512m -XX:MaxPermSize=512m
    # 卷挂载
    volumes:
      - ./system/service-gateway/target/service-gateway-1.0.0-SNAPSHOT.jar:/app.jar
      - ./log:/log/
    # 使用哪个网络
    networks:
      - service-net
# 网络配置
networks:
  service-net:
    external:
      name: nacos-net    # 加入到对应服务网络中


        其中会遇到宿主机与docker容器的时差相差8小时问题,可以参考如下链接:docker容器与宿主机相差8小时_咻pur慢-CSDN博客

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/275310.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号