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

2024-03-06 02:32

本文主要是介绍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/jreexport PATH=$JAVA_HOME/bin:$PATH:$MAVEN_HOME/bin:$JRE_HOME
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarecho ""
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" ];thenif [ ! -d "$gitPath/$gitName" ];thencd /$gitPathecho "-------clone this package git-------"git clone $gitHttpcd $gitNameelsecd $gitPath/$gitNamefichmod -R 777 $gitPath/$gitNamegit reset --hard origin/develop#git clean -fgit pull origin developif [ $? -ne 0 ]; thenecho "-------pull failed-------"elseecho "-------pull succeed-------"fiset -emvn clean package -Dmaven.test.skip=trueif [ $? -ne 0 ]; thenecho "-------build failed-------"elseecho "-------build succeed-------"fiecho "-------close docker container-------"pid=`docker ps -aqf name=$gitName_service-gateway_1`docker stop $pidpid1=`docker ps -aqf name=$gitName_service-customer_1`docker stop $pid1pid2=`docker ps -aqf name=$gitName_service-management_1`docker stop $pid2echo "-------close docker container successed-------"echo "-------start gateway--------"docker-compose -f docker-compose.yml up -dif [$? -ne 0]; then echo "-------gateway faild-------"elseecho "-------gateway successed-------"fiecho "-------start services--------"docker-compose -f docker-compose-server.yml up -dif [$? -ne 0]; then echo "-------services faild-------"elseecho "-------services successed-------"fiecho "-------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-gatewayrestart: 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博客

这篇关于docker-compose+Dockerfile+gitee+宝塔WebHook自动部署的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/778596

相关文章

闲置电脑也能活出第二春?鲁大师AiNAS让你动动手指就能轻松部署

对于大多数人而言,在这个“数据爆炸”的时代或多或少都遇到过存储告急的情况,这使得“存储焦虑”不再是个别现象,而将会是随着软件的不断臃肿而越来越普遍的情况。从不少手机厂商都开始将存储上限提升至1TB可以见得,我们似乎正处在互联网信息飞速增长的阶段,对于存储的需求也将会不断扩大。对于苹果用户而言,这一问题愈发严峻,毕竟512GB和1TB版本的iPhone可不是人人都消费得起的,因此成熟的外置存储方案开

如何用Docker运行Django项目

本章教程,介绍如何用Docker创建一个Django,并运行能够访问。 一、拉取镜像 这里我们使用python3.11版本的docker镜像 docker pull python:3.11 二、运行容器 这里我们将容器内部的8080端口,映射到宿主机的80端口上。 docker run -itd --name python311 -p

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

基于51单片机的自动转向修复系统的设计与实现

文章目录 前言资料获取设计介绍功能介绍设计清单具体实现截图参考文献设计获取 前言 💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们电子相关专业的大学生,希望您们都共创辉煌!✌💗 👇🏻 精彩专栏 推荐订阅👇🏻 单片机

从状态管理到性能优化:全面解析 Android Compose

文章目录 引言一、Android Compose基本概念1.1 什么是Android Compose?1.2 Compose的优势1.3 如何在项目中使用Compose 二、Compose中的状态管理2.1 状态管理的重要性2.2 Compose中的状态和数据流2.3 使用State和MutableState处理状态2.4 通过ViewModel进行状态管理 三、Compose中的列表和滚动

Python3 BeautifulSoup爬虫 POJ自动提交

POJ 提交代码采用Base64加密方式 import http.cookiejarimport loggingimport urllib.parseimport urllib.requestimport base64from bs4 import BeautifulSoupfrom submitcode import SubmitCodeclass SubmitPoj():de

在 Windows 上部署 gitblit

在 Windows 上部署 gitblit 在 Windows 上部署 gitblit 缘起gitblit 是什么安装JDK部署 gitblit 下载 gitblit 并解压配置登录注册为 windows 服务 修改 installService.cmd 文件运行 installService.cmd运行 gitblitw.exe查看 services.msc 缘起

Solr部署如何启动

Solr部署如何启动 Posted on 一月 10, 2013 in:  Solr入门 | 评论关闭 我刚接触solr,我要怎么启动,这是群里的朋友问得比较多的问题, solr最新版本下载地址: http://www.apache.org/dyn/closer.cgi/lucene/solr/ 1、准备环境 建立一个solr目录,把solr压缩包example目录下的内容复制

禅道Docker安装包发布

禅道Docker安装包发布 大家好, 禅道Docker安装包发布。 一、下载地址 禅道开源版:   /dl/zentao/docker/docker_zentao.zip  备用下载地址:https://download.csdn.net/download/u013490585/16271485 数据库用户名: root,默认密码: 123456。运行时,可以设置 MYSQL_ROOT_P

Spring Roo 实站( 一 )部署安装 第一个示例程序

转自:http://blog.csdn.net/jun55xiu/article/details/9380213 一:安装 注:可以参与官网spring-roo: static.springsource.org/spring-roo/reference/html/intro.html#intro-exploring-sampleROO_OPTS http://stati