build
Github默认自带docker。因此可以直接使用gradle执行dockerPushImage。
在build.gradle添加:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| plugins { id("com.bmuschko.docker-spring-boot-application") version "9.3.5" } docker { springBootApplication { baseImage = 'amazoncorretto:17-alpine-jdk' ports = [8080] images = ['registry.cn-shanghai.aliyuncs.com/miaoa/miaoa:1.0.0', 'registry.cn-shanghai.aliyuncs.com/miaoa/miaoa:latest'] jvmArgs = [] } registryCredentials { url = 'registry.cn-shanghai.aliyuncs.com/miaoa/miaoa' username = 'username' password = 'password' } }
|
然后添加job
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Make gradlew executable run: chmod +x ./sichao_service-main/gradlew - name: Set up JDK 17 uses: actions/setup-java@v3 with: java-version: '17' distribution: 'corretto' - name: Setup Gradle uses: gradle/gradle-build-action@v2 - name: Execute Gradle build run: cd sichao_service-main && ./gradlew dockerPushImage
|
deploy
使用插件登录到远端ssh,执行命令。
job配置如下:
1 2 3 4 5 6 7 8 9 10 11 12 13
| deploy: runs-on: ubuntu-latest needs: build steps: - name: Deploy to ECS uses: appleboy/ssh-action@master with: host: ${{ secrets.HOST }} username: root password: ${{ secrets.PASSWORD }} port: 22 script: | bash /root/k8s/start.sh
|
secret
可以在github secert中添加变量,此处可以直接引用。