mirror of
https://github.com/edv-pi/pbs-client-docker.git
synced 2025-04-20 05:52:55 +02:00
Add Docker CI/CD.
This commit is contained in:
parent
7c53cfb939
commit
5a769bea8e
11
.github/dependabot.yml
vendored
Normal file
11
.github/dependabot.yml
vendored
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
# To get started with Dependabot version updates, you'll need to specify which
|
||||||
|
# package ecosystems to update and where the package manifests are located.
|
||||||
|
# Please see the documentation for all configuration options:
|
||||||
|
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
|
||||||
|
|
||||||
|
version: 2
|
||||||
|
updates:
|
||||||
|
- package-ecosystem: "docker" # See documentation for possible values
|
||||||
|
directory: "/docker" # Location of package manifests
|
||||||
|
schedule:
|
||||||
|
interval: "daily"
|
57
.github/workflows/docker-publish.yml
vendored
Normal file
57
.github/workflows/docker-publish.yml
vendored
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
name: Build and Publish Docker Image
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [main]
|
||||||
|
schedule:
|
||||||
|
# * is a special character in YAML so you have to quote this string
|
||||||
|
- cron: '0 9 * * 6'
|
||||||
|
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build-and-push-docker-image:
|
||||||
|
name: Build Docker image and push to repositories
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
|
||||||
|
- name: Checkout code
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Force permissions fix.
|
||||||
|
run: sudo apt-get update && sudo apt-get install dos2unix -y && cd docker && bash dos2unix.sh
|
||||||
|
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
id: buildx
|
||||||
|
uses: docker/setup-buildx-action@v3
|
||||||
|
|
||||||
|
- name: Login to DockerHub
|
||||||
|
uses: docker/login-action@v3
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||||
|
|
||||||
|
- name: Login to Github Packages
|
||||||
|
uses: docker/login-action@v3
|
||||||
|
with:
|
||||||
|
registry: ghcr.io
|
||||||
|
username: ${{ github.actor }}
|
||||||
|
password: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
|
- name: Get current date
|
||||||
|
id: date
|
||||||
|
run: echo "DATE=$(date +'%Y-%m-%d')" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Build image and push to Docker Hub and GitHub Container Registry
|
||||||
|
uses: docker/build-push-action@v5
|
||||||
|
with:
|
||||||
|
context: ./docker
|
||||||
|
push: true
|
||||||
|
tags: |
|
||||||
|
aterfax/pbs-client:latest
|
||||||
|
ghcr.io/aterfax/pbs-client:latest
|
||||||
|
aterfax/pbs-client:${{ env.DATE }}
|
||||||
|
ghcr.io/aterfax/pbs-client:${{ env.DATE }}
|
||||||
|
|
||||||
|
- name: Image digest
|
||||||
|
run: echo ${{ steps.docker_build.outputs.digest }}
|
36
.github/workflows/docker-test.yml
vendored
Normal file
36
.github/workflows/docker-test.yml
vendored
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
name: Build Docker Image
|
||||||
|
|
||||||
|
on:
|
||||||
|
# run it during pull request
|
||||||
|
pull_request:
|
||||||
|
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
# define job to build and publish docker image
|
||||||
|
build-docker-image:
|
||||||
|
name: Build Docker image only
|
||||||
|
# run only when code is compiling and tests are passing
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
# steps to perform in job
|
||||||
|
steps:
|
||||||
|
- name: Checkout code
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Force permissions fix.
|
||||||
|
run: sudo apt-get update && sudo apt-get install dos2unix -y && cd docker && bash dos2unix.sh
|
||||||
|
|
||||||
|
# setup Docker build action
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
id: buildx
|
||||||
|
uses: docker/setup-buildx-action@v3
|
||||||
|
|
||||||
|
- name: Build image only
|
||||||
|
uses: docker/build-push-action@v5
|
||||||
|
with:
|
||||||
|
context: ./docker
|
||||||
|
push: false
|
||||||
|
|
||||||
|
- name: Image digest
|
||||||
|
run: echo ${{ steps.docker_build.outputs.digest }}
|
Loading…
Reference in New Issue
Block a user