feat: /version endpoint; fix deploy action inputs
- Bake the commit SHA into the image (GIT_SHA build arg) and serve it at /version, so a deploy can be verified end to end. This repo is the dockerloid deploy test service. - cssnr/portainer-stack-deploy-action@v1 reads `endpoint` and `pull`; `endpoint_id` / `pull_image` were silently ignored. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
c74a193d7d
commit
8dc6a973ce
3 files changed
+16
-3
No files matched your search
@@ -51,9 +51,11 @@ jobs:
|
|||||||
tags: ${{ steps.meta.outputs.tags }}
|
tags: ${{ steps.meta.outputs.tags }}
|
||||||
labels: ${{ steps.meta.outputs.labels }}
|
labels: ${{ steps.meta.outputs.labels }}
|
||||||
platforms: linux/amd64
|
platforms: linux/amd64
|
||||||
|
build-args: |
|
||||||
|
GIT_SHA=${{ github.sha }}
|
||||||
|
|
||||||
deploy:
|
deploy:
|
||||||
name: Deploy to Portainer
|
name: Deploy
|
||||||
needs: [build]
|
needs: [build]
|
||||||
runs-on: docker
|
runs-on: docker
|
||||||
container:
|
container:
|
||||||
@@ -68,8 +70,8 @@ jobs:
|
|||||||
name: ${{ secrets.PORTAINER_STACK_NAME }}
|
name: ${{ secrets.PORTAINER_STACK_NAME }}
|
||||||
file: docker-compose.yml
|
file: docker-compose.yml
|
||||||
type: file
|
type: file
|
||||||
pull_image: true
|
pull: true
|
||||||
endpoint_id: ${{ secrets.PORTAINER_ENDPOINT_ID }}
|
endpoint: ${{ secrets.PORTAINER_ENDPOINT_ID }}
|
||||||
env_data: |
|
env_data: |
|
||||||
{
|
{
|
||||||
"IMAGE": "${{ env.REGISTRY }}/${{ github.repository_owner }}/ascii-art-app:latest"
|
"IMAGE": "${{ env.REGISTRY }}/${{ github.repository_owner }}/ascii-art-app:latest"
|
||||||
|
|||||||
@@ -10,6 +10,10 @@ COPY app.py ascii_engine.py ./
|
|||||||
COPY templates ./templates
|
COPY templates ./templates
|
||||||
COPY static ./static
|
COPY static ./static
|
||||||
|
|
||||||
|
# Build provenance, served at /version so deploys can be verified
|
||||||
|
ARG GIT_SHA=unknown
|
||||||
|
ENV GIT_SHA=$GIT_SHA
|
||||||
|
|
||||||
# Expose port
|
# Expose port
|
||||||
EXPOSE 5000
|
EXPOSE 5000
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
import os
|
||||||
|
|
||||||
from flask import Flask, jsonify, render_template, request
|
from flask import Flask, jsonify, render_template, request
|
||||||
|
|
||||||
import ascii_engine
|
import ascii_engine
|
||||||
@@ -15,6 +17,11 @@ def index():
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@app.route("/version")
|
||||||
|
def version():
|
||||||
|
return jsonify(gitSha=os.environ.get("GIT_SHA", "unknown"))
|
||||||
|
|
||||||
|
|
||||||
@app.route("/api/random")
|
@app.route("/api/random")
|
||||||
def api_random():
|
def api_random():
|
||||||
category = request.args.get("category")
|
category = request.args.get("category")
|
||||||
|
|||||||
Reference in new issue
Block a user