php/.gitea/workflows/build_docker.yaml

80 lines
3.0 KiB
YAML
Raw Normal View History

2024-04-05 05:30:21 +00:00
name: Create Docker Image
run-name: ${{ gitea.actor }} Building Docker Image 🚀
on: [push]
jobs:
build:
name: Build Docker Image
2024-04-05 05:49:50 +00:00
runs-on: docker-x86
2024-04-05 06:39:44 +00:00
container:
image: docker:dind
privileged: true
2024-04-05 06:02:44 +00:00
env:
BRANCH: master
VERSION: 8.3-fpm
2024-04-05 06:05:09 +00:00
DOCKER_HOST: tcp://127.0.0.1:2375
2024-04-05 06:02:44 +00:00
VERSIONARCH: ${VERSION}-${ARCH}
2024-04-05 05:51:39 +00:00
2024-04-05 05:30:21 +00:00
steps:
- name: Environment
run: |
2024-04-05 06:02:44 +00:00
if [ ! -d build-cache ]; then mkdir build-cache; fi
if [ -n "${HTTP_PROXY}" ]; then echo "HTTP PROXY [${HTTP_PROXY}]"; sed -i -e s'/https/http/' /etc/apk/repositories; fi
2024-04-06 00:48:02 +00:00
apk add git curl nodejs jq
2024-04-05 06:39:44 +00:00
( dockerd --host=tcp://0.0.0.0:2375 --tls=false & ) && sleep 3
2024-04-05 06:02:44 +00:00
docker info && docker version
# env|sort
# docker login -u "$CI_DEPENDENCY_PROXY_USER" -p "$CI_DEPENDENCY_PROXY_PASSWORD" "$CI_SERVER_HOST"
#echo "$CI_JOB_TOKEN" | docker login -u "$CI_REGISTRY_USER" "$CI_REGISTRY" --password-stdin
2024-04-05 06:05:09 +00:00
echo "++ PS" && ps -Af
2024-04-05 06:02:44 +00:00
echo "++ Environment" && env|sort
2024-04-05 05:36:05 +00:00
echo "++ PWD" && pwd
echo "++ ls" && ls -al
2024-04-05 05:30:21 +00:00
- name: Checkout Code
uses: actions/checkout@v4
2024-04-06 00:15:01 +00:00
- name: Prepare Registry FQDN
id: registry
run: |
registry=${{ github.server_url }}
registry=${registry##http*://}
echo "registry=${registry}" >> "$GITHUB_OUTPUT"
2024-04-05 05:49:50 +00:00
- name: Environment part 2
run: |
2024-04-05 06:30:32 +00:00
echo "++ Environment" && env|sort
2024-04-05 05:49:50 +00:00
echo "++ PWD" && pwd
echo "++ ls" && ls -al
2024-04-05 23:51:32 +00:00
echo "++ workspace" && ls ${{ gitea.workspace }}
2024-04-06 00:07:10 +00:00
echo "++ host is ${{ gitea.repository }}"
2024-04-06 00:45:18 +00:00
echo "++ registry is ${{ steps.registry.outputs.registry }}"
2024-04-06 00:49:15 +00:00
echo "++ steps is " && echo ${{ JSON.stringify(steps) }}
2024-04-06 00:47:17 +00:00
echo "++ container ${{ steps.registry.outputs.registry }}/${{ env.GITHUB_REPOSITORY }}:${{ env.VERSION }}"
2024-04-05 05:49:50 +00:00
2024-04-05 06:02:44 +00:00
- name: Build
run: |
2024-04-05 06:31:25 +00:00
set -x
2024-04-05 06:02:44 +00:00
if [ -f init ]; then chmod 500 init; fi
2024-04-05 06:30:32 +00:00
#([ -z "$REFRESH" -a -f build-cache/${CI_COMMIT_REF_SLUG} ]) && docker load < build-cache/${CI_COMMIT_REF_SLUG} || true
#rm build-cache/* || true
2024-04-06 00:45:18 +00:00
docker build ${HTTP_PROXY:+--build-arg HTTP_PROXY=${HTTP_PROXY}} -t ${{ steps.registry.outputs.registry }}/${{ env.GITHUB_REPOSITORY }}:${{ env.VERSION }}
2024-04-06 00:15:01 +00:00
docker push ${{steps.registry.outputs.registry}}/${{ GITHUB_REPOSITORY }}:${{ env.VERSION }}
#docker save ${CI_REGISTRY_IMAGE}:${VERSIONARCH} > build-cache/${CI_COMMIT_REF_SLUG}
2024-04-05 06:02:44 +00:00
2024-04-05 05:30:21 +00:00
# name: Set up Docker Buildx
# uses: https://github.com/docker/setup-buildx-action@v3
# with:
# config-inline: |
# [registry."<my-private-unsecure-git-repository-ip-address>:5000"]
# http = true
# insecure = true
- name: Build and push Docker image
uses: docker/build-push-action@v5
with:
context: .
file: ./Dockerfile
push: true
tags: "${{gitea.server}}/${{gitea.domain}}:latest"