当前位置: 首页 > news >正文

企业投资建设公益性项目免费seo网站

企业投资建设公益性项目,免费seo网站,做地方门户网站怎样,网站公安备案不通过介绍 本文件主要介绍如何将SpringBoot应用使用Docker方式部署,并用Gitlab CI/CD进行构建和部署。 环境准备 已安装Gitlab仓库已安装Gitlab Runner,并已注册到Gitlab和已实现基础的CI/CD使用创建Docker Hub仓库,教程中使用的是阿里云的Docker…

介绍

本文件主要介绍如何将SpringBoot应用使用Docker方式部署,并用Gitlab CI/CD进行构建和部署。

环境准备

  1. 已安装Gitlab仓库
  2. 已安装Gitlab Runner,并已注册到Gitlab和已实现基础的CI/CD使用
  3. 创建Docker Hub仓库,教程中使用的是阿里云的Docker Hub仓库
  4. Gitlab Runner所在服务器和部署应用的服务器都已安装好Docker,并成功登录上创建好的Docker Hub仓库
  5. Gitlab Runner所在服务器与部署应用的服务器之间已实现免登陆访问
  6. 能成功访问的SpringBoot应用

第1,2点可参考文章GitLab CI/CD 应用
第3,4点可参考文章 Docker之镜像上传(阿里云镜像仓库)、使用Dockerfile创建镜像并运行容器
第5点可参考文章 服务器间免登陆访问

Gitlab Runner服务器配置脚本

进入目录/home/gitlab-runner,在该目录下新增两个脚本

pre-docker-start.sh脚本内容

#!/bin/bash
echo "开始检查是否存在运行中的容器 $1 ..."
count=$(docker ps | grep $1 | wc -l)
echo "运行中的容器数量: $count"
if [[ $count -gt 0 ]];thendocker stop $1
fi
count1=$(docker ps -a | grep $1 | wc -l)
echo "已停止的容器数量: $count1"
if [[ $count1 -gt 0 ]];thendocker rm $1
fi
echo "结束脚本"

after-docker-start.sh脚本内容

#!/bin/bash
echo "开始检查是否存在运行中的容器 $1 ..."
count=$(docker ps | grep $1 | wc -l)
echo "运行中的容器数量: $count"
if [[ $count -gt 0 ]];thenecho "$1 启动成功"
elseecho "$1 启动失败"
fi
echo "结束脚本"

在SpringBoot项目的根目录中新增Dockerfile和.gitlab-ci.yml文件

在这里插入图片描述

Dockerfile文件内容,推荐文章 使用Dockerfile创建镜像并运行容器,详细语法介绍可查看 官方文档-参考手册

FROM openjdk:8-jreMAINTAINER gitlab gitlab@test.com
ENV LANG en_US.utf8
ENV LC_ALL C.UTF-8
# 挂载目录
VOLUME /home/gitlab-demo
# 时区设置
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo "Asia/Shanghai" > /etc/timezone
# 创建目录
RUN mkdir -p /home/gitlab-demo
# 指定路径
WORKDIR /home/gitlab-demo
EXPOSE 18000
COPY ./target/gitlab-demo-1.0-SNAPSHOT.jar app.jar
ENV SPRING_PROFILES_ACTIVE="dev" EXTRA_OPTS=""
ENTRYPOINT ["/bin/sh", "-c", "java ${EXTRA_OPTS} -Dspring.profiles.active=${SPRING_PROFILES_ACTIVE} -jar app.jar"]

.gitlab-ci.yml文件内容,详细语法介绍可查看 官方文档-CI/CD YAML 语法参考

variables:APP_NAME: gitlab-demoVERSION: 0.0.1PORT: 18000
stages:- build- deploybuild:stage: buildtags:- buildrules:- if: $CI_COMMIT_BRANCH == "dev"variables:DOCKER_PREFIX: gitlab-dev- if: $CI_COMMIT_BRANCH == "test"variables:DOCKER_PREFIX: gitlab-test- if: $CI_COMMIT_BRANCH == "main"variables:DOCKER_PREFIX: gitlab-prodscript:- echo "==================before docker build ================"- echo "variables = {DOCKER_PREFIX = ${DOCKER_PREFIX}}"# - docker images | grep uwell-gateway | awk '{print $3}' | xargs docker rmi- mvn clean install -DskipTests- docker build -t ${APP_NAME}:${VERSION} ./- docker tag ${APP_NAME}:${VERSION} registry.cn-hangzhou.aliyuncs.com/${DOCKER_PREFIX}/${APP_NAME}:${VERSION}- docker push registry.cn-hangzhou.aliyuncs.com/${DOCKER_PREFIX}/${APP_NAME}:${VERSION}- docker rmi ${APP_NAME}:${VERSION}deploy:stage: deploytags:- deployrules:- if: $CI_COMMIT_BRANCH == "dev"variables:DOCKER_PREFIX: gitlab-devSERVER_PATH: 开发环境IPSPRING_PROFILES_ACTIVE: dev- if: $CI_COMMIT_BRANCH == "test"variables:DOCKER_PREFIX: gitlab-testSERVER_PATH: 测试环境IPSPRING_PROFILES_ACTIVE: testscript:- echo "==================before docker deploy ================"- echo "variables = {DOCKER_PREFIX = ${DOCKER_PREFIX}, SERVER_PATH = ${SERVER_PATH}, SPRING_PROFILES_ACTIVE = ${SPRING_PROFILES_ACTIVE}}"- ssh root@${SERVER_PATH} "docker pull registry.cn-hangzhou.aliyuncs.com/${DOCKER_PREFIX}/${APP_NAME}:${VERSION}"- ssh root@${SERVER_PATH} 'bash -s' < /home/gitlab-runner/pre-docker-start.sh $APP_NAME- ssh root@${SERVER_PATH} "docker run -d -p ${PORT}:${PORT} -e SPRING_PROFILES_ACTIVE=${SPRING_PROFILES_ACTIVE} --name=${APP_NAME} registry.cn-hangzhou.aliyuncs.com/${DOCKER_PREFIX}/${APP_NAME}:${VERSION}"- ssh root@${SERVER_PATH} 'bash -s' < /home/gitlab-runner/after-docker-start.sh $APP_NAME

验证

提交代码后,打开Gitlab的web页面,找到CI/CD的任务执行记录
在这里插入图片描述
每个阶段都执行成功后,查看部署应用的服务器,看应用是否成功部署
在这里插入图片描述

http://www.dinnco.com/news/45403.html

相关文章:

  • 网站建设公司找哪家好最近的国际新闻
  • 上海网站建设升级推广引流哪个软件最好
  • 手机大全seo优化包括哪些
  • 网站建设未来发展前景深圳网站开发公司
  • 商务网站开发源码推广普通话活动方案
  • 广西壮族自治区市场监督管理局官网seo搜索引擎推广
  • 网站做语言切换深圳网站设计制作
  • PHP+Ajax网站开发典型实例短视频关键词seo优化
  • 网站开发流程6个阶段搜索排名提升
  • 自己做网站能赚钱吗石家庄seo网络推广
  • 自己的电脑做网站服务器 买的服务器 速度长春网站建设平台
  • 网站建设方式丨金手指排名26永久观看不收费的直播
  • web网站开发用到什么工具成都网站seo厂家
  • wordpress构架都是模板seo百度站长工具
  • 大连网站搜索排名提升湖北seo服务
  • 简述建设一个网站的步骤提高百度快速排名
  • 公众号里的网站怎么做seo实战密码第三版pdf
  • 关于加强政府网站建设工作如何进行电子商务网站推广
  • 织梦模板网站怎么上线百度客服人工电话24
  • 成品网站w灬 源码1688网页沈阳专业seo排名优化公司
  • 代做网站的好处google关键词挖掘工具
  • 做网站的公司主要是干啥seo优化裤子关键词
  • 利用业务时间做的网站与公司有关吗百度点击快速排名
  • 湛江 网站建设成都网站关键词排名
  • 建设农村信息网站正规seo关键词排名网络公司
  • 免费做金融网站网址搜索引擎
  • 犀牛云做网站编辑上传seo外包顾问
  • 徐汇网站建设营销策划方案怎么写?
  • 东莞整合网站建设公司友情链接图片
  • 网站快速收录付费入口新闻发布平台