栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

githup action 发布springboot项目

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

githup action 发布springboot项目

1.准备好需要准备的springboot项目,新建Dockerfile文件

#Dockerfile文件内容
FROM openjdk:8-jdk-alpine 
ADD ./target/wechart-0.0.1-SNAPSHOT.jar app.jar
EXPOSE 8080 
ENTRYPOINT ["java","-jar","/app.jar"]
            
            
                com.spotify
                dockerfile-maven-plugin
                1.3.6
                
                   ${project.artifactId}
                
            

2.新建阿里云镜像仓库

3.新建githup仓库,根据提示,推送代码

 

 4.新建访问秘钥TOKEN

 

 

5.配置项目所需要的环境信息,找到项目下的setting设置,点击secrets,开始配置

 

 

 

TOKEN为刚新建的令牌

6.在.githubworkflows文件夹下新建yml文件

 

# This workflow will build a Java project with Maven
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven
 
name: Java CI with Maven
#在push本地main分支时启动action
on:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]

jobs:
  build:
    #在ubuntu-latest下执行
    runs-on: ubuntu-latest
    
    steps:
    - uses: actions/checkout@master  #下来master分支
    - name: Set up JDK 8
      uses: actions/setup-java@master
      with:
        java-version: '8'
        distribution: 'adopt'
        cache: maven
    - name: Build with Maven       #打包命令
      run: mvn clean package --file pom.xml
    - name: BuildDockerImage   #使用dockerFile文件制作镜像,并且推送到阿里云镜像仓库
        run: |
          docker login --username=${{ secrets.YUN_USERNAME }} --password ${{ secrets.YUN_PASSWORD }} registry.cn-hangzhou.aliyuncs.com
          docker build . -t ${{ secrets.REGISTRY }}:$GITHUB_RUN_NUMBER
          docker push ${{ secrets.REGISTRY }}:$GITHUB_RUN_NUMBER
          docker tag $(docker images ${{ secrets.REGISTRY }}:$GITHUB_RUN_NUMBER -q) ${{ secrets.REGISTRY }}:latest
          docker push ${{ secrets.REGISTRY }}:latest
  pull-docker:  #登录外网服务器,拉取刚刚推送的镜像,然后启动镜像
    needs: [build]
    name: Pull Docker
    runs-on: ubuntu-latest
    steps:
      - name: Deploy
        uses: appleboy/ssh-action@master
        with:
          host: ${{ secrets.HOST }}
          username: ${{ secrets.USERNAME }}
          password: ${{ secrets.PASSWORD }}
          port: ${{ secrets.PORT }}
          script: |
            docker stop $(docker ps -a | grep -w registry.cn-hangzhou.aliyuncs.com/bjiang123/git_action| awk '{print $1}')
            docker rm -f $(docker ps -a | grep -w registry.cn-hangzhou.aliyuncs.com/bjiang123/git_action| awk '{print $1}')
            docker rmi -f $(docker images  registry.cn-hangzhou.aliyuncs.com/bjiang123/git_action:latest -q)
            docker login --username=${{ secrets.YUN_USERNAME }} --password ${{ secrets.YUN_PASSWORD }} registry.cn-hangzhou.aliyuncs.com
            docker pull registry.cn-hangzhou.aliyuncs.com/bjiang123/git_action:latest
            docker run -d -p 8080:8080 registry.cn-hangzhou.aliyuncs.com/bjiang123/git_action:latest

7.点击提交,开始执行,点击action,查看执行过程,执行完成后,登录服务器,查看项目是否发布成功

 

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

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

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