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

网站备案 快递互联网金融

网站备案 快递,互联网金融,黄页88网全自动录播系统,温州微网站公司前言:本章讲述一下我使用Coding(Jenkinsfile) Docker部署Springboot项目过程,记录图文细节和一些需要注意的问题。 说明:为什么要使用Coding去集成Docker? 节约了服务器内存,不需要单独部署 Jen…

前言:本章讲述一下我使用Coding(Jenkinsfile)+ Docker部署Springboot项目过程,记录图文细节和一些需要注意的问题。

说明:为什么要使用Coding去集成Docker?

  1. 节约了服务器内存,不需要单独部署 Jenkins。(Jenkins内存占用较多)
  2. 方便管理,代码和部署放在同一个地方,同时也支持其他的工作协同。
  3. Coding也支持其他的部署方式,同时文档也较为齐全。

1. 配置服务器环境

(前面几篇已经配置过了,可以作为参考)

  1. Docker安装的图文细节

  2. MySQL安装的图文细节

  3. Redis安装的图文细节


2. 创建一个Springboot项目

1. 这里我使用一个优秀的开源项目为例:芋道源码

(运行项目需要安装JDK,MySQL,Redis,可以参考官方文档运行)

2. 拉取代码,修改配置

(这里我使用的环境是JDK21MySQL8.0Redis7.4

  1. 拉取代码之后切换分支到master-jdk17(JDK8使用默认的master分支)
  2. 等待下载Maven依赖,同时修改application文件
    1. application.yamlspring.profiles.active修改为dev
      在这里插入图片描述

    2. application-dev.yamlMySQLRedis配置全部修改为自己的服务
      在这里插入图片描述

3. 运行项目,访问http://127.0.0.1:48080/

在这里插入图片描述
在这里插入图片描述

(如图:正常运行启动,如果不能正常启动,可以参考源码文档排查问题)


3. 把代码提交到Coding

1. 在Coding本地创建仓库
2. 修改本地代码的Git远程地址
3. 推送到Coding仓库上

4. 编写Jenkinsfile脚本

1. 选择: 构建计划 > java + Spring +Docker

在这里插入图片描述

2. 开始创建计划

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

如果你使用的系统较新的系统,推荐使用账号和密码生成凭证。

(刚开始的时候我是使用的是密钥,但是我的系统是CentOS9,不兼容较旧的Jenkins插件,这里踩坑了,我在官方的文档里也找到错误说明。)

在这里插入图片描述

3. 流程配置

在这里插入图片描述

  • 文本编辑器里我是这样配置的
pipeline {agent anystages {stage('检出') {steps {checkout([$class: 'GitSCM',branches: [[name: GIT_BUILD_REF]],userRemoteConfigs: [[url: GIT_REPO_URL,credentialsId: CREDENTIALS_ID]]])}}stage('编译') {agent {docker {reuseNode trueregistryUrl 'https://coding-public-docker.pkg.coding.net'image 'public/docker/openjdk:21-2024.03'args '-v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker --entrypoint='}}steps {sh 'mvn clean install -DskipTests -Dmaven.test.skip=true'}}stage('构建镜像并推送到 CODING Docker 制品库') {steps {script {docker.withRegistry("${CCI_CURRENT_WEB_PROTOCOL}://${CODING_DOCKER_REG_HOST}","${CODING_ARTIFACTS_CREDENTIALS_ID}") {// 输出当前目录信息echo "Current directory: ${env.WORKSPACE}"// 切换到 yudao-server 目录dir('yudao-server') {// 构建 Docker 镜像def dockerImage = docker.build("${CODING_DOCKER_IMAGE_NAME}:${DOCKER_IMAGE_VERSION}", "-f Dockerfile ${DOCKER_BUILD_CONTEXT}")dockerImage.push()}}}}}stage('部署到远端服务') {steps {script {def remoteConfig = [:]remoteConfig.name = "my-remote-ltby"remoteConfig.host = "${REMOTE_HOST}"remoteConfig.port = 22remoteConfig.allowAnyHosts = truewithCredentials([usernamePassword(credentialsId: "${REMOTE_CRED}",passwordVariable: 'password',usernameVariable: 'userName'),]) {// SSH 登录用户名remoteConfig.user = userName// 密码登录remoteConfig.password = passwordsshCommand(remote: remoteConfig,command: "docker rm -f spring-boot | true",sudo: true,)// DOCKER_IMAGE_VERSION 中涉及到 GIT_LOCAL_BRANCH / GIT_TAG / GIT_COMMIT 的环境变量的使用// 需要在本地完成拼接后,再传入到远端服务器中使用DOCKER_IMAGE_URL = sh(script: "echo ${CODING_DOCKER_REG_HOST}/${CODING_DOCKER_IMAGE_NAME}:${DOCKER_IMAGE_VERSION}",returnStdout: true)sshCommand(remote: remoteConfig,command: "docker run -d -p 48080:48080 --name spring-boot ${DOCKER_IMAGE_URL}",sudo: true,)echo "部署成功,请到 http://${REMOTE_HOST}:48080 预览效果"}}}}}environment {CODING_DOCKER_REG_HOST = "${CCI_CURRENT_TEAM}-docker.pkg.${CCI_CURRENT_DOMAIN}"CODING_DOCKER_IMAGE_NAME = "${PROJECT_NAME.toLowerCase()}/${DOCKER_REPO_NAME}/${DOCKER_IMAGE_NAME}"}}

提醒:如果你使用的也是jdk17以上的版本,需要注意编译的时候不要使用默认的构建环境因为maven版本较低,jdk17以上的版本会报错(我是用的脚本是jdk21的编译环境,如果你使用的是jdk8,需要修改第19行代码:image public/docker/openjdk:8-2024.03

4. 修改触发规则
  • 根据你的需求进行修改,也可以使用默认的
    在这里插入图片描述
5. 修改变量和缓存
  • 根据你的需求进行修改
    在这里插入图片描述
6. 修改通知提醒
  • 根据你的需求进行修改
7. 修改权限方案
  • 根据你的需求进行修改

5. 开始构建

由于系统和环境的不同,可能出现各种问题,配置的时候尽量不加太多变量。

在这里插入图片描述


6. 构建成功

  • 这里需要等待5-10分钟。

在这里插入图片描述

  • 访问地址:http://xxx.xxx.xxx.xxx:48080 (xxx替换为服务器IP)

在这里插入图片描述

  • 如图:可以正常访问到后台接口,部署成功

结束语:使用Coding(Jenkinsfile)集成 Docker 自动化部署 Springboot 项目的基础配置大致上就是这样了。因为步骤较多,所以有很多地方就简略的用图文表达了。

		——如果觉得文章有用💪,点个赞,支持一下👏!——
http://www.yayakq.cn/news/775345/

相关文章:

  • 做网站如何赚钱知乎上海天华室内设计有限公司
  • 网站设计 seo南通企业网站排名
  • 长沙网站制作公司地址嘉兴企业自助建站系统
  • 做网站的前期准备安装wordpress 重定向
  • 彭山住房和城乡建设局网站用jsp做视频网站
  • 江苏网站制作企业网站模板名称
  • 网站建设下一步打算网站开发问题论文
  • 金融网站模版下载电子商务网页制作视频教程
  • 上海金山网站设计公司做网站前期需要什么
  • 现代建设公司网站上海市网站设计
  • aspcms中引文 网站修改配置专业做网站建
  • 国内flask做的网站网站icp备案信息是什么
  • 西安专业做网站建设费用青岛网站设计定制
  • 3月网站备案白名单模板之家免费下载方法
  • 一个ip怎么做多个网站防静电产品东莞网站建设技术支持
  • 网站做视频网站网站关键字优化教程
  • 网站建设 蔬菜配送上海做外贸网站建设
  • 网站建设河南免费的网站建设一般多少钱
  • 怎么查网站是谁建的为什么现在建设银行要下载网站激活码
  • 南江网站建设深圳500强企业排行榜
  • 爱站数据wordpress分类做首页
  • 做教案找资料有哪些网站哪个网站可以做h5页面
  • 凡科建设网站还用买服务器吗html5网页设计论文
  • 石家庄公司网站设计免费ip地址网站
  • 网站知识网站做图书网站的代码
  • 网站改版什么意思网站页面设计考虑要素
  • 建立网站用什么软件wordpress搭建站点
  • 大型的建设工程类考试辅导网站手机网站建设专业服务公司
  • 宁波网站建设熊掌号房山企业网站建设公司
  • 中国制造网建站招聘网站建设价格