feat: docker ignore
This commit is contained in:
parent
5f019f793c
commit
88c96dc213
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
'
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue