Skip to content

Dockerfile CI

Dockerfile CI #721

Workflow file for this run

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