Dockerfile CI #721
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Dockerfile CI | |
on: | |
push: | |
branches: [ master ] | |
pull_request: | |
branches: [ master ] | |
schedule: | |
- cron: "15 7 * * *" | |
workflow_dispatch: | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Сборка helloworld Dockerfile | |
run: docker build dockerfile/helloworld --file dockerfile/helloworld/Dockerfile --tag helloworld | |
- name: Сборка helloworld-loop Dockerfile | |
run: docker build dockerfile/helloworld-loop --file dockerfile/helloworld-loop/Dockerfile --tag helloworld-loop | |
- name: Сборка Java Maven Hello Dockerfile и проверка успешного запуска веб-сервера Spring Boot | |
run: | | |
cd dockerfile/java-hello | |
docker build . -t java-hello | |
docker run --name java-hello-test -d -p 8080:8080 java-hello | |
# ожидание запуска JVM и приложения | |
sleep 5s | |
curl localhost:8080 | |
docker stop java-hello-test | |
- name: Многоступенчатая сборка Java Maven Hello Dockerfile и проверка успешного запуска веб-сервера Spring Boot | |
run: | | |
cd dockerfile/java-hello | |
docker build . -f Dockerfile-multistage -t java-hello | |
# проверка размера образа | |
docker images | grep java-hello | |
docker rm java-hello-test | |
docker run --name java-hello-test -d -p 8080:8080 java-hello | |
# ожидание запуска JVM и приложения | |
sleep 5s | |
curl localhost:8080 | |
docker stop java-hello-test | |
- name: Сборка Go Hello Dockerfile и проверка успешного запуска веб-сервера Go | |
run: | | |
docker build dockerfile/go-hello --file dockerfile/go-hello/Dockerfile --tag go-hello | |
docker run --name go-hello-test -d -p 8080:8080 go-hello | |
curl localhost:8080 | |
docker stop go-hello-test | |
- name: Многоступенчатая сборка Go Hello Dockerfile и проверка успешного запуска веб-сервера Go | |
run: | | |
cd dockerfile/go-hello-multistage | |
docker build . -t go-hello | |
# проверка размера образа | |
docker images | grep go-hello | |
docker rm go-hello-test | |
docker run --name go-hello-test -d -p 8080:8080 go-hello | |
curl localhost:8080 | |
docker stop go-hello-test | |
- name: Сборка Node.js Hello Dockerfile и проверка успешного запуска веб-сервера Node | |
run: | | |
docker build dockerfile/nodejs-hello --file dockerfile/nodejs-hello/Dockerfile --tag nodejs-hello | |
docker run --name nodejs-hello-test -d -p 3000:3000 nodejs-hello | |
# сервер node запускается медленно, ожидание запуска | |
sleep 2s | |
curl localhost:3000 | |
docker stop nodejs-hello-test | |
- name: Установка JDK 11 для использования Maven и Jib | |
uses: actions/setup-java@v2 | |
with: | |
java-version: '11' | |
distribution: 'temurin' | |
cache: maven | |
- name: Cборка Java Maven Hello с помощью Jib и проверка успешного запуска веб-сервера Spring Boot | |
run: | | |
cd dockerfile/java-hello | |
mvn clean compile jib:dockerBuild | |
docker run --name java-jib-test -d -p 8080:8080 ivanporty/java-hello:0.1.0 | |
# ожидание запуска JVM и приложения | |
sleep 5s | |
curl localhost:8080 | |
docker stop java-jib-test |