feat: docker ignore
Laravel CI-CD / Tests Unitaires (push) Successful in 51s Details
Laravel CI-CD / Deploy with Kamal (push) Failing after 4m44s Details

This commit is contained in:
Leon Morival 2026-05-19 19:00:53 +02:00
parent 5f019f793c
commit 88c96dc213
2 changed files with 51 additions and 60 deletions

View File

@ -1,7 +1,9 @@
.git .git
.kamal/secrets*
vendor vendor
node_modules node_modules
storage/logs storage/logs
storage/framework/cache/data storage/framework/cache/data
.env .env
.env.*
public/storage public/storage

View File

@ -37,59 +37,6 @@ jobs:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Prepare SSH agent
env:
SSH_HOST: ${{ secrets.SSH_HOST }}
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
run: |
set -eu
eval "$(ssh-agent -s)"
echo "SSH_AUTH_SOCK=$SSH_AUTH_SOCK" >> "$GITHUB_ENV"
printf '%s\n' "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add -
mkdir -p ~/.ssh
chmod 700 ~/.ssh
ssh-keyscan -H "${SSH_HOST:-89.167.35.217}" >> ~/.ssh/known_hosts
- name: Prepare Kamal network
env:
SSH_HOST: ${{ secrets.SSH_HOST }}
SSH_USER: ${{ secrets.SSH_USER }}
run: |
set -eu
REMOTE_HOST="${SSH_HOST:-89.167.35.217}"
REMOTE_USER="${SSH_USER:-root}"
ssh "$REMOTE_USER@$REMOTE_HOST" <<'EOF'
set -eu
docker network inspect kamal >/dev/null 2>&1 || docker network create kamal
for container in bemeal-pgsql bemeal-redis bemeal-meilisearch bemeal-adminer; do
if docker inspect "$container" >/dev/null 2>&1; then
docker network connect kamal "$container" >/dev/null 2>&1 || true
fi
done
EOF
- name: Write Kamal secrets
run: |
set -eu
mkdir -p .kamal
cat > .kamal/secrets <<'EOF'
GITEA_TOKEN=$GITEA_TOKEN
APP_KEY=$APP_KEY
DB_DATABASE=$DB_DATABASE
DB_USERNAME=$DB_USERNAME
DB_PASSWORD=$DB_PASSWORD
MEILISEARCH_KEY=$MEILISEARCH_KEY
EOF
chmod 600 .kamal/secrets
- name: Deploy - name: Deploy
env: env:
GITEA_TOKEN: ${{ secrets.TOKEN_GITEA }} GITEA_TOKEN: ${{ secrets.TOKEN_GITEA }}
@ -100,19 +47,20 @@ jobs:
MEILISEARCH_KEY: ${{ secrets.MEILISEARCH_KEY }} MEILISEARCH_KEY: ${{ secrets.MEILISEARCH_KEY }}
SSH_HOST: ${{ secrets.SSH_HOST }} SSH_HOST: ${{ secrets.SSH_HOST }}
SSH_USER: ${{ secrets.SSH_USER }} SSH_USER: ${{ secrets.SSH_USER }}
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
run: | run: |
set -eu set -eu
WORKSPACE="${GITHUB_WORKSPACE:-$PWD}" WORKSPACE="${GITHUB_WORKSPACE:-$PWD}"
test -f "$WORKSPACE/config/deploy.yml" test -f "$WORKSPACE/config/deploy.yml"
docker run --rm \ tar \
-v "$WORKSPACE:/workdir" \ --exclude=.kamal/secrets \
-v "$SSH_AUTH_SOCK:/ssh-agent" \ --exclude=.kamal/secrets.* \
-v "$HOME/.ssh:/root/.ssh:ro" \ --exclude=.env \
--exclude=.env.* \
-C "$WORKSPACE" -cf - . | docker run --rm -i \
-v /var/run/docker.sock:/var/run/docker.sock \ -v /var/run/docker.sock:/var/run/docker.sock \
-w /workdir \
-e SSH_AUTH_SOCK=/ssh-agent \
-e GITEA_TOKEN \ -e GITEA_TOKEN \
-e APP_KEY \ -e APP_KEY \
-e DB_DATABASE \ -e DB_DATABASE \
@ -121,4 +69,45 @@ jobs:
-e MEILISEARCH_KEY \ -e MEILISEARCH_KEY \
-e SSH_HOST \ -e SSH_HOST \
-e SSH_USER \ -e SSH_USER \
"$KAMAL_IMAGE" deploy -e SSH_PRIVATE_KEY \
--entrypoint /bin/sh \
"$KAMAL_IMAGE" -lc '
set -eu
mkdir -p /workdir /root/.ssh
tar -xf - -C /workdir
cd /workdir
chmod 700 /root/.ssh
printf "%s\n" "$SSH_PRIVATE_KEY" | tr -d "\r" > /root/.ssh/id_ed25519
chmod 600 /root/.ssh/id_ed25519
ssh-keyscan -H "${SSH_HOST:-89.167.35.217}" >> /root/.ssh/known_hosts
mkdir -p .kamal
cat > .kamal/secrets <<'"'"'SECRETS'"'"'
GITEA_TOKEN=$GITEA_TOKEN
APP_KEY=$APP_KEY
DB_DATABASE=$DB_DATABASE
DB_USERNAME=$DB_USERNAME
DB_PASSWORD=$DB_PASSWORD
MEILISEARCH_KEY=$MEILISEARCH_KEY
SECRETS
chmod 600 .kamal/secrets
REMOTE_HOST="${SSH_HOST:-89.167.35.217}"
REMOTE_USER="${SSH_USER:-root}"
ssh "$REMOTE_USER@$REMOTE_HOST" <<'"'"'REMOTE'"'"'
set -eu
docker network inspect kamal >/dev/null 2>&1 || docker network create kamal
for container in bemeal-pgsql bemeal-redis bemeal-meilisearch bemeal-adminer; do
if docker inspect "$container" >/dev/null 2>&1; then
docker network connect kamal "$container" >/dev/null 2>&1 || true
fi
done
REMOTE
/kamal/bin/kamal deploy
'