国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Github Actions實(shí)現(xiàn)Spring Boot自動(dòng)化部署(第二彈)

這篇具有很好參考價(jià)值的文章主要介紹了Github Actions實(shí)現(xiàn)Spring Boot自動(dòng)化部署(第二彈)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

Github Actions實(shí)現(xiàn)Spring Boot自動(dòng)化部署(第二彈)

前言

? 今天就來講述一下如何使用GitHub結(jié)合Actions實(shí)現(xiàn)Spring Boot程序從提交代碼到打包、容器化、部署全過程自動(dòng)化。首先咱們得現(xiàn)有一個(gè)能夠在本地運(yùn)行的Spring Boot程序,并且在Github上擁有一個(gè)倉庫。

一、自動(dòng)化部署

1.1 提交代碼到Github

Github Actions實(shí)現(xiàn)Spring Boot自動(dòng)化部署(第二彈),github,spring boot,自動(dòng)化

1.2 設(shè)置服務(wù)器密鑰、GitHub私鑰、DockerHub賬號(hào)

secret value remark
DOCKER_HUB_ACCESS_TOKEN 1234567890 dockerhub賬號(hào)私鑰
DOCKER_HUB_USERNAME bubaiwantong dockerhub賬號(hào)
SERVER_HOST 127.0.0.1 服務(wù)器IP地址
SERVER_PASSWORD 1234567890 服務(wù)器密碼
SERVER_PORT 22 服務(wù)器開放端口
SERVER_PRIVATE_KEY 1234567890 服務(wù)器私鑰
SERVER_USERNAME root 服務(wù)器賬號(hào)
TOKEN 1234567890 Github的Token
1.2.1 設(shè)置服務(wù)器密鑰

Github Actions實(shí)現(xiàn)Spring Boot自動(dòng)化部署(第二彈),github,spring boot,自動(dòng)化

1.2.2 設(shè)置Github私鑰

Github Actions實(shí)現(xiàn)Spring Boot自動(dòng)化部署(第二彈),github,spring boot,自動(dòng)化

Github Actions實(shí)現(xiàn)Spring Boot自動(dòng)化部署(第二彈),github,spring boot,自動(dòng)化

Github Actions實(shí)現(xiàn)Spring Boot自動(dòng)化部署(第二彈),github,spring boot,自動(dòng)化

Github Actions實(shí)現(xiàn)Spring Boot自動(dòng)化部署(第二彈),github,spring boot,自動(dòng)化

1.2.3 設(shè)置DockerHub賬號(hào)

Github Actions實(shí)現(xiàn)Spring Boot自動(dòng)化部署(第二彈),github,spring boot,自動(dòng)化

1.3 新增工作流文件

Github Actions實(shí)現(xiàn)Spring Boot自動(dòng)化部署(第二彈),github,spring boot,自動(dòng)化

maven.yml文件

name: Deploy with docker

on:
  push:
    # 分支
    branches: [ "master" ]
  pull_request:
    branches: [ "master" ]

jobs:
  compile:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Set up JDK 21
        uses: actions/setup-java@v2
        with:
          java-version: '21'
          distribution: 'adopt'
      # maven緩存,不加的話每次都會(huì)去重新拉取,會(huì)影響速度
      - name: Dependies Cache
        uses: actions/cache@v2
        with:
          path: ~/.m2/repository
          key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
          restore-keys: |
            ${{ runner.os }}-maven-
      # 編譯打包
      - name: Build with Maven
        run: |
          mvn package -Dmaven.test.skip=true
      # 登錄Docker Hub
      - name: Login to Docker Hub
        uses: docker/login-action@v1
        with:
          username: ${{ secrets.DOCKER_HUB_USERNAME }}
          password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
      - name: Set up Docker Buildx
        id: buildx
        uses: docker/setup-buildx-action@v1
      #build鏡像并push到中央倉庫中
      - name: Build and push
        id: docker_build
        uses: docker/build-push-action@v2
        with:
          context: ./
          file: ./Dockerfile
          push: true
          tags: ${{secrets.DOCKER_HUB_USERNAME}}/back:latest
  
      #push后,用ssh連接服務(wù)器執(zhí)行腳本
      - name: SSH
#        uses: fifsky/ssh-action@master
        uses: appleboy/ssh-action@master
        with:
#          command: |
#            cd /develop/work/education-back-server
#            sh start.sh
          host: ${{secrets.SERVER_HOST}}
          username: ${{secrets.SERVER_USERNAME}}
          port: ${{secrets.SERVER_PORT }}
#          key: ${{secrets.SERVER_PRIVATE_KEY}}
          password: ${{secrets.SERVER_PASSWORD}}
          script:
            sh /develop/work/education-back-server/start.sh
#            sh start.sh


1.4 新增Dockerfile文件

Github Actions實(shí)現(xiàn)Spring Boot自動(dòng)化部署(第二彈),github,spring boot,自動(dòng)化

Dockerfile文件

#基礎(chǔ)鏡像
FROM bubaiwantong/openjdk:21-jdk-alpine

#安裝字體
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories && apk add --update ttf-dejavu fontconfig && rm -rf /var/cache/apk/* && mkfontscale && mkfontdir && fc-cache
RUN apk add --update ttf-dejavu fontconfig && rm -rf /var/cache/apk/*

#添加文件
ADD education-back/target/back-0.0.1-SNAPSHOT.jar /usr/local
RUN chmod u+x /usr/local/back-0.0.1-SNAPSHOT.jar

#設(shè)置時(shí)區(qū)
RUN rm -f /etc/localtime \
&& ln -sv /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& echo "Asia/Shanghai" > /etc/timezone

#掛載目錄到容器
#VOLUME ["/data"]
#環(huán)境變量設(shè)置
#ENV #開放端口
EXPOSE 8088
#啟動(dòng)時(shí)執(zhí)行的命令
CMD ["/bin/bash"]
#啟動(dòng)時(shí)執(zhí)行的命令
ENTRYPOINT ["java","-jar","/usr/local/back-0.0.1-SNAPSHOT.jar"]

1.5 編寫服務(wù)器啟動(dòng)腳本

start.sh文件

#!/bin/bash
docker pull bubaiwantong/back:latest

docker tag docker.io/bubaiwantong/back:latest back:latest

docker stop back

docker rm back

docker run --name back -p 8088:8088 -d back:latest

docker image prune -

2.7 開啟自動(dòng)化部署

提交代碼到master,在GitHub中的Actions即可發(fā)現(xiàn)項(xiàng)目正在自動(dòng)化部署

Github Actions實(shí)現(xiàn)Spring Boot自動(dòng)化部署(第二彈),github,spring boot,自動(dòng)化

在瀏覽器地址欄打開網(wǎng)站首頁 就可以發(fā)現(xiàn)自動(dòng)化部署成功啦!

Github Actions實(shí)現(xiàn)Spring Boot自動(dòng)化部署(第二彈),github,spring boot,自動(dòng)化

三、寫在最后

如果這篇【文章】有幫助到你,希望可以給【JavaGPT】點(diǎn)個(gè)贊??,創(chuàng)作不易,如果有對(duì)【后端技術(shù)】、【前端領(lǐng)域】感興趣的小可愛,也歡迎關(guān)注?????? 【JavaGPT】??????,我將會(huì)給你帶來巨大的【收獲與驚喜】??????!文章來源地址http://www.zghlxwxcb.cn/news/detail-719637.html

到了這里,關(guān)于Github Actions實(shí)現(xiàn)Spring Boot自動(dòng)化部署(第二彈)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Jenkins + Gitee + Maven 自動(dòng)化部署 Spring Boot

    Jenkins + Gitee + Maven 自動(dòng)化部署 Spring Boot

    目錄 1、前言 1?.1、插件簡(jiǎn)介 1.2、插件安裝 2、創(chuàng)建Maven項(xiàng)目 2.1、新建一個(gè)全新的項(xiàng)目 2.2、拷貝已有項(xiàng)目 3、項(xiàng)目配置 3.1 、General 3.2、源碼管理 3.3、構(gòu)建觸發(fā)器 3.4、構(gòu)建環(huán)境 3.5、Pre Steps 3.6、Build 1)Root POM 2)Goals and options 3)【高級(jí)】 3.7、Pre Steps 3.8、構(gòu)建環(huán)境 3.9、Post Ste

    2024年02月08日
    瀏覽(42)
  • Jenkins + Docker 一鍵自動(dòng)化部署 Spring Boot 項(xiàng)目,步驟齊全,少走坑路!

    Jenkins + Docker 一鍵自動(dòng)化部署 Spring Boot 項(xiàng)目,步驟齊全,少走坑路!

    本文章實(shí)現(xiàn)最簡(jiǎn)單全面的Jenkins+docker+springboot 一鍵自動(dòng)部署項(xiàng)目,步驟齊全,少走坑路。 環(huán)境 :centos7+git(gitee) 簡(jiǎn)述實(shí)現(xiàn)步驟:在docker安裝jenkins,配置jenkins基本信息,利用Dockerfile和shell腳本實(shí)現(xiàn)項(xiàng)目自動(dòng)拉取打包并運(yùn)行。 推薦一個(gè)開源免費(fèi)的 Spring Boot 實(shí)戰(zhàn)項(xiàng)目: https://git

    2024年02月08日
    瀏覽(58)
  • github-webhook+docker實(shí)現(xiàn)項(xiàng)目可持續(xù)自動(dòng)化部署

    github-webhook+docker實(shí)現(xiàn)項(xiàng)目可持續(xù)自動(dòng)化部署

    使用nginx+pm2+github-webhook+docker實(shí)現(xiàn)項(xiàng)目自動(dòng)部署 注:docker也能實(shí)現(xiàn)pm2的守護(hù)進(jìn)程功能(持續(xù)啟動(dòng)項(xiàng)目),所以使用了docker就不需要使用pm2了 但是需要注意的是使用node啟動(dòng)的webhook服務(wù)器不能使用docker,因?yàn)樵趙ebhook內(nèi)部的sh腳本執(zhí)行時(shí)需要到服務(wù)器的前后端項(xiàng)目文件中去執(zhí)行,

    2024年04月12日
    瀏覽(25)
  • github-action+docker實(shí)現(xiàn)項(xiàng)目可持續(xù)自動(dòng)化部署

    github-action+docker實(shí)現(xiàn)項(xiàng)目可持續(xù)自動(dòng)化部署

    這篇文章以部署vue3項(xiàng)目和nuxt2項(xiàng)目為例結(jié)合 github-action , docker , nginx 等介紹不同的項(xiàng)目自動(dòng)部署流程 部署vue3項(xiàng)目 步驟: 1、騰訊云開啟鏡像倉庫 2、github配置secrets 3、項(xiàng)目根目錄創(chuàng)建dockerfile文件(在action工作流中創(chuàng)建鏡像) 4、github配置action工作流(yml文件) 上面步驟執(zhí)行結(jié)

    2024年04月26日
    瀏覽(21)
  • Spring Boot Testing: 使用springboot-test提供的測(cè)試框架來實(shí)現(xiàn)自動(dòng)化測(cè)試

    作者:禪與計(jì)算機(jī)程序設(shè)計(jì)藝術(shù) 軟件測(cè)試是在開發(fā)過程中不可缺少的一環(huán)。單元測(cè)試、集成測(cè)試、功能測(cè)試等都是為了保證系統(tǒng)的質(zhì)量而進(jìn)行的測(cè)試活動(dòng)。單元測(cè)試主要驗(yàn)證各個(gè)模塊(類、方法)在各種情況下是否正常工作;集成測(cè)試則是將不同模塊組合起來看是否可以正常

    2024年02月07日
    瀏覽(23)
  • Github 自動(dòng)化部署

    Github 自動(dòng)化部署

    官方地址 點(diǎn)擊進(jìn)入 注冊(cè)/登錄 .githubworkflows 固定不變 develop.yml 文件名自定義 變量解釋 secrets 是定義在github中的變量 通過 secerts.變量名 來取值 steps steps 是github action的 create_release 是上一個(gè)步驟的 id outputs.upload_url 是上一個(gè)步驟的返回結(jié)果 倉庫地址:https://github.com/yi-

    2024年02月03日
    瀏覽(23)
  • Github 自動(dòng)化部署到GitHub Pages

    Github 自動(dòng)化部署到GitHub Pages

    前言 github倉庫示例: automated-deployment 1.準(zhǔn)備工作 新建倉庫 新建項(xiàng)目 配置 vite.config.ts 部署應(yīng)用包時(shí)的基本URL,例:vue-cli 5.x 配置 publicPath 推送到遠(yuǎn)程倉庫 2.配置 GitHub Token 點(diǎn)擊 Settings - Actions - General 找到 Workflow permissions,選中第一項(xiàng)并保存 工作流默認(rèn)是沒有推送代碼的權(quán)限,

    2024年02月05日
    瀏覽(33)
  • spring boot--自動(dòng)化注入組件原理、內(nèi)嵌tomcat-1

    spring boot--自動(dòng)化注入組件原理、內(nèi)嵌tomcat-1

    前言 我們知道開發(fā)spring boot項(xiàng)目,在啟動(dòng)類上添加注解@SpringBootApplication ,然后引入要自動(dòng)注入的組件依賴,然后現(xiàn)application.properties中加上相應(yīng)配置就可以自動(dòng)注入這個(gè)組件,那么下面看看自動(dòng)注入組件是如何實(shí)現(xiàn)的 一、@SpringBootApplication 注解 1、查看SpringBootApplication 類如下

    2024年02月15日
    瀏覽(22)
  • Spring Boot 自動(dòng)化單元測(cè)試類的編寫過程

    前言 Web環(huán)境模擬測(cè)試 企業(yè)開發(fā)不僅要保障業(yè)務(wù)層與數(shù)據(jù)層的功能安全有效,也要保障表現(xiàn)層的功能正常。但是我們一般對(duì)表現(xiàn)層的測(cè)試都是通過postman手工測(cè)試的,并沒有在打包過程中代碼體現(xiàn)表現(xiàn)層功能被測(cè)試通過。那么能否在測(cè)試用例中對(duì)表現(xiàn)層進(jìn)行功能測(cè)試呢?答案是

    2024年04月16日
    瀏覽(32)
  • redisson-spring-boot-starter 自動(dòng)化配置源碼解析

    redisson-spring-boot-starter:3.25.2 此starter會(huì)自動(dòng)注冊(cè)RedissonClient Bean 并可通過注冊(cè)RedissonAutoConfigurationCustomizer Bean實(shí)現(xiàn)配置自定義 spring-boot:2.7以上 org.redisson.spring.starter.RedissonAutoConfigurationV2 spring-boot:2.6以下 org.redisson.spring.starter.RedissonAutoConfiguration

    2024年01月17日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包