Functional
This commit is contained in:
105
.drone.yml
105
.drone.yml
@@ -1,105 +0,0 @@
|
||||
kind: pipeline
|
||||
type: kubernetes
|
||||
name: default
|
||||
|
||||
trigger:
|
||||
branch:
|
||||
- main
|
||||
event:
|
||||
- push
|
||||
|
||||
services:
|
||||
- name: docker
|
||||
image: docker.io/library/docker:25.0.3-git
|
||||
privileged: true
|
||||
volumes:
|
||||
- name: dockersock
|
||||
path: /var/run
|
||||
|
||||
steps:
|
||||
|
||||
- name: get-app-version
|
||||
image: steamcmd/steamcmd:alpine-3
|
||||
commands:
|
||||
- |
|
||||
APP_BUILD_ID=$(steamcmd +login anonymous +app_info_print 1690800 +quit | \
|
||||
awk 'BEGIN { capture = 0; } \
|
||||
/"1690800"/ { capture = 1; } \
|
||||
capture && /"branches"/ { inBranches = 1; } \
|
||||
inBranches && /"public"/ { inPublic = 1; next; } \
|
||||
inPublic && /"buildid"/ { \
|
||||
gsub(/[^0-9]/, "", $0); print; exit; \
|
||||
}')
|
||||
- echo "export APP_BUILD_ID=$${APP_BUILD_ID}" > /scratch/EXTRA_ENVIRONMENT
|
||||
- cat /scratch/EXTRA_ENVIRONMENT
|
||||
volumes:
|
||||
- name: scratch
|
||||
path: /scratch
|
||||
|
||||
- name: build
|
||||
image: docker.io/library/docker:25.0.3-git
|
||||
commands:
|
||||
- sleep 10 # give docker enough time to initialize
|
||||
- >
|
||||
docker image build
|
||||
--build-arg DRONE_BUILD_STARTED=$DRONE_BUILD_STARTED
|
||||
--build-arg DRONE_COMMIT_SHA=$DRONE_COMMIT_SHA
|
||||
--tag image:latest
|
||||
.
|
||||
volumes:
|
||||
- name: dockersock
|
||||
path: /var/run
|
||||
|
||||
- name: push-gitea
|
||||
image: docker.io/library/docker:25.0.3-git
|
||||
commands:
|
||||
- source /scratch/EXTRA_ENVIRONMENT
|
||||
- echo $GITEA_TOKEN | docker login git.williammiceli.systems --username $GITEA_USERNAME --password-stdin
|
||||
- docker image tag image:latest git.williammiceli.systems/william/docker_satisfactory-server:latest
|
||||
- docker image tag image:latest git.williammiceli.systems/william/docker_satisfactory-server:app_build_id-$${APP_BUILD_ID}
|
||||
- docker image tag image:latest git.williammiceli.systems/william/docker_satisfactory-server:ci_build-${DRONE_BUILD_NUMBER}
|
||||
- docker image tag image:latest git.williammiceli.systems/william/docker_satisfactory-server:commit_sha-${DRONE_COMMIT_SHA:0:12}
|
||||
- docker image push --all-tags git.williammiceli.systems/william/docker_satisfactory-server
|
||||
depends_on:
|
||||
- build
|
||||
- get-app-version
|
||||
environment:
|
||||
GITEA_USERNAME:
|
||||
from_secret: GITEA_USERNAME
|
||||
GITEA_TOKEN:
|
||||
from_secret: GITEA_TOKEN
|
||||
volumes:
|
||||
- name: dockersock
|
||||
path: /var/run
|
||||
- name: scratch
|
||||
path: /scratch
|
||||
|
||||
- name: push-dockerhub
|
||||
image: docker.io/library/docker:25.0.3-git
|
||||
commands:
|
||||
- source /scratch/EXTRA_ENVIRONMENT
|
||||
- echo $DOCKER_TOKEN | docker login docker.io --username $DOCKER_USERNAME --password-stdin
|
||||
- docker image tag image:latest docker.io/williammiceli/satisfactory-server:latest
|
||||
- docker image tag image:latest docker.io/williammiceli/satisfactory-server:app_build_id-$${APP_BUILD_ID}
|
||||
- docker image tag image:latest docker.io/williammiceli/satisfactory-server:ci_build-${DRONE_BUILD_NUMBER}
|
||||
- docker image tag image:latest docker.io/williammiceli/satisfactory-server:commit_sha-${DRONE_COMMIT_SHA:0:12}
|
||||
- docker image push --all-tags docker.io/williammiceli/satisfactory-server
|
||||
depends_on:
|
||||
- build
|
||||
- get-app-version
|
||||
environment:
|
||||
DOCKER_USERNAME:
|
||||
from_secret: DOCKER_USERNAME
|
||||
DOCKER_TOKEN:
|
||||
from_secret: DOCKER_TOKEN
|
||||
volumes:
|
||||
- name: dockersock
|
||||
path: /var/run
|
||||
- name: scratch
|
||||
path: /scratch
|
||||
|
||||
volumes:
|
||||
- name: dockersock
|
||||
temp: {}
|
||||
- name: scratch
|
||||
temp: {}
|
||||
229
.gitea/workflows/build.yaml
Normal file
229
.gitea/workflows/build.yaml
Normal file
@@ -0,0 +1,229 @@
|
||||
name: Build and Push
|
||||
|
||||
on: [push]
|
||||
|
||||
jobs:
|
||||
get-steam-app-version:
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
APP_BUILD_ID: ${{steps.get_app_build_id.outputs.APP_BUILD_ID}}
|
||||
|
||||
steps:
|
||||
|
||||
- name: DEBUG1
|
||||
run: |
|
||||
echo "CI_DOCKER_USERNAME: ${{vars.DOCKER_USERNAME}}"
|
||||
echo "Repo Owner: ${{GITHUB.event.repository.owner.login}}"
|
||||
echo "CONTAINER_NAME: ${{vars.CONTAINER_NAME}}"
|
||||
|
||||
- name: Install SteamCMD Dependencies
|
||||
run: |
|
||||
sudo dpkg --add-architecture i386
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y lib32gcc-s1 wget ca-certificates
|
||||
|
||||
- name: Download and Extract SteamCMD
|
||||
run: |
|
||||
mkdir -p ~/Steam && cd ~/Steam
|
||||
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
|
||||
tar -xvzf steamcmd_linux.tar.gz
|
||||
|
||||
- name: Get APP_BUILD_ID
|
||||
id: get_app_build_id
|
||||
run: |
|
||||
cd ~/Steam
|
||||
APP_BUILD_ID=$(./steamcmd.sh +login anonymous +app_info_print 1690800 +quit | \
|
||||
awk 'BEGIN { capture = 0; } \
|
||||
/"1690800"/ { capture = 1; } \
|
||||
capture && /"branches"/ { inBranches = 1; } \
|
||||
inBranches && /"public"/ { inPublic = 1; next; } \
|
||||
inPublic && /"buildid"/ { \
|
||||
gsub(/[^0-9]/, "", $0); print; exit; \
|
||||
}')
|
||||
export GITEA_OUTPUT="${GITEA_OUTPUT:+$GITEA_OUTPUT:}APP_BUILD_ID=$APP_BUILD_ID"
|
||||
echo "APP_BUILD_ID=$APP_BUILD_ID"
|
||||
echo "APP_BUILD_ID=$APP_BUILD_ID" >> "$GITHUB_OUTPUT"
|
||||
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: docker.io/library/ubuntu:latest
|
||||
options:
|
||||
--privileged
|
||||
--add-host ${{env.DIND_SERVICE_HOSTNAME}}:${{env.DIND_SERVICE_IP}}
|
||||
volumes:
|
||||
- /artifacts/:/artifacts/
|
||||
- /certs/client/:/certs/client/
|
||||
env:
|
||||
DOCKER_HOST: tcp://${{env.DIND_SERVICE_HOSTNAME}}:2376
|
||||
DOCKER_TLS_VERIFY: '1'
|
||||
DOCKER_CERT_PATH: /certs/client/
|
||||
CONTAINER_NAME: satisfactory-server
|
||||
|
||||
steps:
|
||||
- name: Install Required Build Tools
|
||||
run: |
|
||||
apt-get update
|
||||
|
||||
# Install Git
|
||||
apt-get install git -y
|
||||
|
||||
# Install Docker (https://docs.docker.com/engine/install/ubuntu/)
|
||||
apt-get install ca-certificates curl -y
|
||||
install -m 0755 -d /etc/apt/keyrings
|
||||
curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
|
||||
chmod a+r /etc/apt/keyrings/docker.asc
|
||||
|
||||
echo \
|
||||
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
|
||||
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
|
||||
tee /etc/apt/sources.list.d/docker.list > /dev/null
|
||||
apt-get update
|
||||
apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
|
||||
|
||||
- name: Checkout Code
|
||||
run: |
|
||||
pwd
|
||||
git clone ${{GITHUB.server_url}}/${{GITHUB.repository}}.git ./
|
||||
pwd
|
||||
git checkout ${{GITHUB.sha}} --recurse-submodules
|
||||
pwd
|
||||
|
||||
- name: Dump GitHub context
|
||||
env:
|
||||
GITHUB_CONTEXT: ${{ toJson(GITHUB) }}
|
||||
run: echo "$GITHUB_CONTEXT"
|
||||
|
||||
- name: Clean Old Images
|
||||
continue-on-error: true
|
||||
run: |
|
||||
docker rmi --force $(docker images --quiet '${{vars.DOCKER_USERNAME}}/${{vars.CONTAINER_NAME}}' | uniq)
|
||||
|| docker rmi --force $(docker images --quiet '${{vars.PACKAGE_OWNER_USERNAME}}/${{vars.CONTAINER_NAME}}' | uniq)
|
||||
|
||||
- name: Create Docker OCI Builder
|
||||
run: |
|
||||
docker context create buildx-build
|
||||
docker buildx create --name ${{GITHUB.event.repository.name}}_Run-${{GITHUB.run_number}} --driver docker-container --use --bootstrap buildx-build
|
||||
docker buildx inspect ${{GITHUB.event.repository.name}}_Run-${{GITHUB.run_number}} --bootstrap
|
||||
|
||||
- name: Build Docker Image
|
||||
run: |
|
||||
pwd
|
||||
mkdir -p /artifacts/${{GITHUB.event.repository.name}}_Run-${{GITHUB.run_number}}/
|
||||
docker buildx build \
|
||||
--builder ${{GITHUB.event.repository.name}}_Run-${{GITHUB.run_number}} \
|
||||
--platform=linux/amd64 \
|
||||
--tag image:latest \
|
||||
--file Dockerfile \
|
||||
--build-arg CI_BUILD_STARTED=${{GITHUB.event.commits.timestamp}} \
|
||||
--build-arg COMMIT_SHA=${{GITHUB.sha}} \
|
||||
--output type=oci,dest=- \
|
||||
. > /artifacts/${{GITHUB.event.repository.name}}_Run-${{GITHUB.run_number}}/image.tar
|
||||
ls -AhlR /artifacts/
|
||||
|
||||
- name: Remove Docker OCI Builder
|
||||
if: always()
|
||||
run: |
|
||||
docker buildx rm ${{GITHUB.event.repository.name}}_Run-${{GITHUB.run_number}}
|
||||
|
||||
push:
|
||||
needs: [get-steam-app-version, build]
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: docker.io/library/ubuntu:latest
|
||||
options:
|
||||
--privileged
|
||||
--add-host ${{env.DIND_SERVICE_HOSTNAME}}:${{env.DIND_SERVICE_IP}}
|
||||
volumes:
|
||||
- /artifacts/:/artifacts/
|
||||
- /certs/client/:/certs/client/
|
||||
env:
|
||||
DOCKER_HOST: tcp://${{env.DIND_SERVICE_HOSTNAME}}:2376
|
||||
DOCKER_TLS_VERIFY: '1'
|
||||
DOCKER_CERT_PATH: /certs/client/
|
||||
CONTAINER_NAME: satisfactory-server
|
||||
|
||||
steps:
|
||||
- name: Dump environment context
|
||||
env:
|
||||
ENV_CONTENT: ${{ toJson(env) }}
|
||||
run: echo "$ENV_CONTENT"
|
||||
|
||||
- name: Debug hostnames
|
||||
run: |
|
||||
apt-get update
|
||||
apt-get install dnsutils iproute2 net-tools -y --no-install-recommends
|
||||
cat /etc/hosts
|
||||
hostname -I
|
||||
ip a
|
||||
host gitearunner-service-docker.personal-16-1.svc.cluster.local
|
||||
host gitearunner-service-docker
|
||||
|
||||
netstat -ntlp
|
||||
|
||||
- name: Check Artifacts
|
||||
run: |
|
||||
ls -AhlR /artifacts/
|
||||
|
||||
- name: Install Docker Client
|
||||
run: |
|
||||
apt-get update
|
||||
|
||||
# Install Docker (https://docs.docker.com/engine/install/ubuntu/)
|
||||
apt-get install ca-certificates curl -y
|
||||
install -m 0755 -d /etc/apt/keyrings
|
||||
curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
|
||||
chmod a+r /etc/apt/keyrings/docker.asc
|
||||
|
||||
echo \
|
||||
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
|
||||
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
|
||||
tee /etc/apt/sources.list.d/docker.list > /dev/null
|
||||
apt-get update
|
||||
apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
|
||||
|
||||
- name: Check Connection to Docker Engine
|
||||
run: |
|
||||
docker info
|
||||
|
||||
- name: Load Image Into Docker Engine
|
||||
run: |
|
||||
docker image import /artifacts/${{GITHUB.event.repository.name}}_Run-${{GITHUB.run_number}}/image.tar image:latest
|
||||
docker image ls
|
||||
|
||||
- name: CLI Login to Gitea Registry
|
||||
run: |
|
||||
echo ${{secrets.CI_GITEA_TOKEN}} | docker login gitea.williammiceli.systems --username ${{vars.PACKAGE_OWNER_USERNAME}} --password-stdin
|
||||
|
||||
- name: Tag and Push to Gitea Registry
|
||||
run: |
|
||||
docker tag image:latest gitea.williammiceli.systems/$(echo "${{vars.PACKAGE_OWNER_USERNAME}}/${{vars.CONTAINER_NAME}}" | awk '{print tolower($0)}'):latest
|
||||
docker tag image:latest gitea.williammiceli.systems/$(echo "${{vars.PACKAGE_OWNER_USERNAME}}/${{vars.CONTAINER_NAME}}" | awk '{print tolower($0)}'):app_build_id-${APP_BUILD_ID}
|
||||
docker tag image:latest gitea.williammiceli.systems/$(echo "${{vars.PACKAGE_OWNER_USERNAME}}/${{vars.CONTAINER_NAME}}" | awk '{print tolower($0)}'):ci_build-${{GITHUB.run_number}}
|
||||
docker tag image:latest gitea.williammiceli.systems/$(echo "${{vars.PACKAGE_OWNER_USERNAME}}/${{vars.CONTAINER_NAME}}" | awk '{print tolower($0)}'):commit_sha-${{GITHUB.sha}}
|
||||
docker image ls
|
||||
docker push --all-tags gitea.williammiceli.systems/$(echo "${{vars.PACKAGE_OWNER_USERNAME}}/${{vars.CONTAINER_NAME}}" | awk '{print tolower($0)}')
|
||||
env:
|
||||
APP_BUILD_ID: ${{needs.get-steam-app-version.outputs.APP_BUILD_ID}}
|
||||
|
||||
- name: CLI Login to Docker Hub Registry
|
||||
run: |
|
||||
echo ${{secrets.CI_DOCKER_TOKEN}} | docker login docker.io --username ${{vars.DOCKER_USERNAME}} --password-stdin
|
||||
|
||||
- name: Tag and Push to Docker Hub
|
||||
run: |
|
||||
docker tag image:latest ${{vars.DOCKER_USERNAME}}/${{vars.CONTAINER_NAME}}:latest
|
||||
docker tag image:latest ${{vars.DOCKER_USERNAME}}/${{vars.CONTAINER_NAME}}:app_build_id-${APP_BUILD_ID}
|
||||
docker tag image:latest ${{vars.DOCKER_USERNAME}}/${{vars.CONTAINER_NAME}}:ci_build-${{GITHUB.run_number}}
|
||||
docker tag image:latest ${{vars.DOCKER_USERNAME}}/${{vars.CONTAINER_NAME}}:commit_sha-${{GITHUB.sha}}
|
||||
docker image ls
|
||||
docker push --all-tags ${{vars.DOCKER_USERNAME}}/${{vars.CONTAINER_NAME}}
|
||||
env:
|
||||
APP_BUILD_ID: ${{needs.get-steam-app-version.outputs.APP_BUILD_ID}}
|
||||
|
||||
- name: Clean Old Images
|
||||
if: always()
|
||||
continue-on-error: true
|
||||
run: |
|
||||
docker rmi --force $(docker images --quiet '${{vars.DOCKER_USERNAME}}/${{vars.CONTAINER_NAME}}' | uniq)
|
||||
|| docker rmi --force $(docker images --quiet '${{vars.PACKAGE_OWNER_USERNAME}}/${{vars.CONTAINER_NAME}}' | uniq)
|
||||
272
.gitea/workflows/build.yaml.DISABLED
Normal file
272
.gitea/workflows/build.yaml.DISABLED
Normal file
@@ -0,0 +1,272 @@
|
||||
name: Build and Push
|
||||
|
||||
on: [push]
|
||||
|
||||
jobs:
|
||||
get-steam-app-version:
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
APP_BUILD_ID: ${{steps.get_app_build_id.outputs.APP_BUILD_ID}}
|
||||
|
||||
steps:
|
||||
- name: Install SteamCMD Dependencies
|
||||
run: |
|
||||
sudo dpkg --add-architecture i386
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y lib32gcc-s1 wget ca-certificates
|
||||
|
||||
- name: Download and Extract SteamCMD
|
||||
run: |
|
||||
mkdir -p ~/Steam && cd ~/Steam
|
||||
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
|
||||
tar -xvzf steamcmd_linux.tar.gz
|
||||
|
||||
- name: Get APP_BUILD_ID
|
||||
id: get_app_build_id
|
||||
run: |
|
||||
cd ~/Steam
|
||||
APP_BUILD_ID=$(./steamcmd.sh +login anonymous +app_info_print 1690800 +quit | \
|
||||
awk 'BEGIN { capture = 0; } \
|
||||
/"1690800"/ { capture = 1; } \
|
||||
capture && /"branches"/ { inBranches = 1; } \
|
||||
inBranches && /"public"/ { inPublic = 1; next; } \
|
||||
inPublic && /"buildid"/ { \
|
||||
gsub(/[^0-9]/, "", $0); print; exit; \
|
||||
}')
|
||||
export GITEA_OUTPUT="${GITEA_OUTPUT:+$GITEA_OUTPUT:}APP_BUILD_ID=$APP_BUILD_ID"
|
||||
echo "APP_BUILD_ID=$APP_BUILD_ID" >> "$GITHUB_OUTPUT"
|
||||
echo "GITEA_OUTPUT=$GITEA_OUTPUT"
|
||||
echo "GITHUB_OUTPUT=$GITHUB_OUTPUT"
|
||||
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: docker.io/library/ubuntu:latest
|
||||
options:
|
||||
--privileged
|
||||
volumes:
|
||||
- /artifacts/:/artifacts/
|
||||
- /certs/client/:/certs/client/
|
||||
env:
|
||||
KUBECONFIG: /secrets/kubeconfig-buildx.yaml
|
||||
|
||||
steps:
|
||||
- name: Check Certs
|
||||
run: |
|
||||
ls -AhlR /certs/
|
||||
|
||||
- name: Dump environment context
|
||||
env:
|
||||
ENV_CONTENT: ${{ toJson(env) }}
|
||||
run: echo "$ENV_CONTENT"
|
||||
|
||||
- name: Debug hostnames
|
||||
run: |
|
||||
apt-get update
|
||||
apt-get install dnsutils iproute2 net-tools -y --no-install-recommends
|
||||
cat /etc/hosts
|
||||
hostname -I
|
||||
ip a
|
||||
host gitearunner-service-docker.personal-16-1.svc.cluster.local
|
||||
host gitearunner-service-docker
|
||||
|
||||
netstat -ntlp
|
||||
|
||||
- name: Check Kubeconfig
|
||||
run: |
|
||||
echo "HOME=$HOME"
|
||||
ls -AhlR /$HOME
|
||||
echo "done"
|
||||
|
||||
- name: Install Required Build Tools
|
||||
run: |
|
||||
apt-get update
|
||||
|
||||
# Install Git
|
||||
apt-get install git -y
|
||||
|
||||
# Install Docker (https://docs.docker.com/engine/install/ubuntu/)
|
||||
apt-get install ca-certificates curl -y
|
||||
install -m 0755 -d /etc/apt/keyrings
|
||||
curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
|
||||
chmod a+r /etc/apt/keyrings/docker.asc
|
||||
|
||||
echo \
|
||||
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
|
||||
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
|
||||
tee /etc/apt/sources.list.d/docker.list > /dev/null
|
||||
apt-get update
|
||||
apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
|
||||
|
||||
- name: Dump GitHub context
|
||||
env:
|
||||
GITHUB_CONTEXT: ${{ toJson(github) }}
|
||||
run: echo "$GITHUB_CONTEXT"
|
||||
|
||||
- name: Checkout Code
|
||||
run: |
|
||||
pwd
|
||||
git clone ${{github.server_url}}/${{github.repository}}.git ./
|
||||
pwd
|
||||
git checkout ${{github.sha}} --recurse-submodules
|
||||
pwd
|
||||
|
||||
- name: Setup Docker Builder Container
|
||||
run: |
|
||||
docker buildx create \
|
||||
--bootstrap \
|
||||
--driver kubernetes \
|
||||
--name gitearunner_${{github.event.repository.name}}_Run-${{github.run_number}}_Job-${{github.job}} \
|
||||
--driver-opt namespace=personal-16-1,rootless=true
|
||||
|
||||
- name: Check Dockerfile
|
||||
run: |
|
||||
pwd
|
||||
ls -AhlR ./
|
||||
|
||||
- name: Build Docker Image
|
||||
run: |
|
||||
pwd
|
||||
mkdir -p /artifacts/${{github.event.repository.name}}_run${{github.run_number}}/
|
||||
docker buildx build \
|
||||
--builder gitearunner_${{github.event.repository.name}}_Run-${{github.run_number}}_Job-${{github.job}} \
|
||||
--platform=linux/amd64 \
|
||||
--tag image:latest \
|
||||
--file Dockerfile \
|
||||
--build-arg CI_BUILD_STARTED=${{github.event.commits.timestamp}} \
|
||||
--build-arg COMMIT_SHA=${{github.sha}} \
|
||||
--output type=tar,dest=- \
|
||||
. > /artifacts/${{github.event.repository.name}}_run${{github.run_number}}/image.tar
|
||||
ls -AhlR /artifacts/
|
||||
|
||||
- name: Remove Docker Builder Container
|
||||
if: always()
|
||||
run: |
|
||||
docker buildx rm --force gitearunner_${{github.event.repository.name}}_Run-${{github.run_number}}_Job-${{github.job}}
|
||||
|
||||
push:
|
||||
needs: [get-steam-app-version, build]
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: docker.io/library/ubuntu:latest
|
||||
options:
|
||||
--privileged
|
||||
--add-host ${{env.DIND_SERVICE_HOSTNAME}}:${{env.DIND_SERVICE_IP}}
|
||||
volumes:
|
||||
- /certs/client/:/certs/client/
|
||||
- /artifacts/:/artifacts/
|
||||
env:
|
||||
DOCKER_HOST: tcp://${{env.DIND_SERVICE_HOSTNAME}}:2376
|
||||
DOCKER_TLS_VERIFY: '1'
|
||||
DOCKER_CERT_PATH: /certs/client/
|
||||
|
||||
steps:
|
||||
- name: Check Artifacts
|
||||
run: |
|
||||
ls -AhlR /artifacts/
|
||||
|
||||
- name: Install Required Build Tools
|
||||
run: |
|
||||
apt-get update
|
||||
|
||||
# Install Git
|
||||
apt-get install git -y
|
||||
|
||||
# Install Docker (https://docs.docker.com/engine/install/ubuntu/)
|
||||
apt-get install ca-certificates curl -y
|
||||
install -m 0755 -d /etc/apt/keyrings
|
||||
curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
|
||||
chmod a+r /etc/apt/keyrings/docker.asc
|
||||
|
||||
echo \
|
||||
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
|
||||
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
|
||||
tee /etc/apt/sources.list.d/docker.list > /dev/null
|
||||
apt-get update
|
||||
apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
|
||||
|
||||
- name: Check Connection to Docker Engine
|
||||
run: |
|
||||
docker info
|
||||
|
||||
- name: Load Image Into Docker Engine
|
||||
run: |
|
||||
docker image load --input /artifacts/${{github.event.repository.name}}_run${{github.run_number}}/image.tar
|
||||
docker image ls
|
||||
|
||||
- name: CLI Login to Gitea Registry
|
||||
run: |
|
||||
echo ${{secrets.CI_GITEA_TOKEN}} | docker login gitea.williammiceli.systems --username ${{secrets.CI_GITEA_USERNAME}} --password-stdin
|
||||
|
||||
- name: Tag and Push to Gitea Registry
|
||||
run: |
|
||||
docker tag image:latest gitea.williammiceli.systems/william/docker_satisfactory-server:latest
|
||||
docker tag image:latest gitea.williammiceli.systems/william/docker_satisfactory-server:app_build_id-${APP_BUILD_ID}
|
||||
docker tag image:latest gitea.williammiceli.systems/william/docker_satisfactory-server:ci_build-${{gitea.run_number}}
|
||||
docker tag image:latest gitea.williammiceli.systems/william/docker_satisfactory-server:commit_sha-${{gitea.sha}}
|
||||
docker push --all-tags gitea.williammiceli.systems/william/docker_satisfactory-server
|
||||
env:
|
||||
APP_BUILD_ID: ${{needs.get-steam-app-version.outputs.APP_BUILD_ID}}
|
||||
|
||||
- name: CLI Login to Docker Hub Registry
|
||||
run: |
|
||||
echo ${{secrets.CI_DOCKER_TOKEN}} | docker login gitea.williammiceli.systems --username ${{secrets.CI_DOCKER_USERNAME}} --password-stdin
|
||||
|
||||
- name: Tag and Push to Docker Hub
|
||||
run: |
|
||||
docker tag image:latest williammiceli/satisfactory-server:latest
|
||||
docker tag image:latest williammiceli/satisfactory-server:app_build_id-${APP_BUILD_ID}
|
||||
docker tag image:latest williammiceli/satisfactory-server:ci_build-${{gitea.run_number}}
|
||||
docker tag image:latest williammiceli/satisfactory-server:commit_sha-${{gitea.sha}}
|
||||
docker push --all-tags williammiceli/satisfactory-server
|
||||
env:
|
||||
APP_BUILD_ID: ${{needs.get-steam-app-version.outputs.APP_BUILD_ID}}
|
||||
|
||||
|
||||
# push2:
|
||||
# needs: build
|
||||
# runs-on: ubuntu-latest
|
||||
|
||||
# steps:
|
||||
# - name: Check Artifacts
|
||||
# if: always()
|
||||
# run: |
|
||||
# ls -AhlR /artifacts/
|
||||
|
||||
# - name: Load Image Into Docker Engine
|
||||
# if: always()
|
||||
# run: |
|
||||
# docker image load --input /artifacts/${{github.event.repository.name}}_run${{github.run_number}}/image.tar
|
||||
# docker image ls
|
||||
|
||||
# - name: CLI Login to Gitea Registry
|
||||
# if: always()
|
||||
# run: |
|
||||
# echo ${{secrets.CI_GITEA_TOKEN}} | docker login gitea.williammiceli.systems --username ${{secrets.CI_GITEA_USERNAME}} --password-stdin
|
||||
|
||||
# - name: Tag and Push to Gitea Registry
|
||||
# if: always()
|
||||
# run: |
|
||||
# docker tag image:latest gitea.williammiceli.systems/william/docker_satisfactory-server:latest
|
||||
# docker tag image:latest gitea.williammiceli.systems/william/docker_satisfactory-server:app_build_id-${APP_BUILD_ID}
|
||||
# docker tag image:latest gitea.williammiceli.systems/william/docker_satisfactory-server:ci_build-${{gitea.run_number}}
|
||||
# docker tag image:latest gitea.williammiceli.systems/william/docker_satisfactory-server:commit_sha-${{gitea.sha}}
|
||||
# docker push --all-tags gitea.williammiceli.systems/william/docker_satisfactory-server
|
||||
# env:
|
||||
# APP_BUILD_ID: ${{needs.get-steam-app-version.outputs.APP_BUILD_ID}}
|
||||
|
||||
# - name: CLI Login to Docker Hub Registry
|
||||
# if: always()
|
||||
# run: |
|
||||
# echo ${{secrets.CI_DOCKER_TOKEN}} | docker login gitea.williammiceli.systems --username ${{secrets.CI_DOCKER_USERNAME}} --password-stdin
|
||||
|
||||
# - name: Tag and Push to Docker Hub
|
||||
# if: always()
|
||||
# run: |
|
||||
# docker tag image:latest williammiceli/satisfactory-server:latest
|
||||
# docker tag image:latest williammiceli/satisfactory-server:app_build_id-${APP_BUILD_ID}
|
||||
# docker tag image:latest williammiceli/satisfactory-server:ci_build-${{gitea.run_number}}
|
||||
# docker tag image:latest williammiceli/satisfactory-server:commit_sha-${{gitea.sha}}
|
||||
# docker push --all-tags williammiceli/satisfactory-server
|
||||
# env:
|
||||
# APP_BUILD_ID: ${{needs.get-steam-app-version.outputs.APP_BUILD_ID}}
|
||||
12
Dockerfile
12
Dockerfile
@@ -17,8 +17,8 @@ RUN dpkg --add-architecture i386 && \
|
||||
|
||||
# Add unicode support
|
||||
RUN locale-gen en_US.UTF-8
|
||||
ENV LANG 'en_US.UTF-8'
|
||||
ENV LANGUAGE 'en_US:en'
|
||||
ENV LANG='en_US.UTF-8'
|
||||
ENV LANGUAGE='en_US:en'
|
||||
|
||||
# Create user for SteamCMD
|
||||
RUN useradd -m steam
|
||||
@@ -49,9 +49,9 @@ VOLUME ["/persistent"]
|
||||
CMD ["/home/steam/satisfactory_server/FactoryServer.sh"]
|
||||
|
||||
# Labels
|
||||
ARG DRONE_BUILD_STARTED
|
||||
ARG DRONE_COMMIT_SHA
|
||||
ARG CI_BUILD_STARTED
|
||||
ARG COMMIT_SHA
|
||||
LABEL org.opencontainers.image.authors="William Miceli; https://github.com/WilliamMiceli; https://williammiceli.me"
|
||||
LABEL org.opencontainers.image.created=$DRONE_BUILD_STARTED
|
||||
LABEL org.opencontainers.image.revision=$DRONE_COMMIT_SHA
|
||||
LABEL org.opencontainers.image.created=$CI_BUILD_STARTED
|
||||
LABEL org.opencontainers.image.revision=$COMMIT_SHA
|
||||
LABEL org.opencontainers.image.source=https://github.com/WilliamMiceli/Docker_Satisfactory-Server
|
||||
|
||||
12
README.md
12
README.md
@@ -1,5 +1,10 @@
|
||||
[](https://drone.williammiceli.systems/William/Docker_Satisfactory-Server)
|
||||

|
||||
[](https://hub.docker.com/r/williammiceli/satisfactory-server)
|
||||
[](https://hub.docker.com/r/williammiceli/satisfactory-server)
|
||||
[](https://hub.docker.com/r/williammiceli/satisfactory-server)
|
||||
[](https://hub.docker.com/r/williammiceli/satisfactory-server)
|
||||
|
||||
|
||||
|
||||
/f/110098/5405x1416/10decfbcac/hero-logo.png)
|
||||
|
||||
@@ -78,15 +83,14 @@ docker image pull williammiceli/satisfactory-server:latest
|
||||
steamcmd +force_install_dir /home/steam/satisfactory_server +login anonymous +app_update 1690800 -beta public validate +quit
|
||||
```
|
||||
|
||||
/f/110098/600x730/99e92fe34f/hero-graphic.png)
|
||||
/f/110098/600x730/99e92fe34f/hero-graphic.png)
|
||||
|
||||
|
||||
# Meta
|
||||
|
||||
* [Docker Hub](https://hub.docker.com/r/williammiceli/satisfactory-server)
|
||||
* [Build System](https://drone.williammiceli.systems/William/Docker_Satisfactory-Server)
|
||||
|
||||
## Credits for Useful References
|
||||
## Credits for Useful References/Resources
|
||||
|
||||
* https://openai.com/chatgpt
|
||||
* https://github.com/steamcmd/docker
|
||||
|
||||
Reference in New Issue
Block a user