diff --git a/.gitea/workflows/eapim-portal-ci.yml b/.gitea/workflows/eapim-portal-ci.yml index 36b194a..896f98e 100644 --- a/.gitea/workflows/eapim-portal-ci.yml +++ b/.gitea/workflows/eapim-portal-ci.yml @@ -62,6 +62,40 @@ jobs: eapim-portal/build/libs/eapim-portal-boot.war if-no-files-found: error + - name: Publish WAR to Gitea Generic Package + working-directory: ${{ github.workspace }} + env: + GITEA_URL: http://172.30.1.50:3000 + PKG_OWNER: djb-eapim + PKG_NAME: eapim-portal + run: | + SHORT_SHA=$(echo "${{ github.sha }}" | cut -c1-7) + VERSION="$(TZ=Asia/Seoul date +%Y-%m-%d-%H%M)-${SHORT_SHA}" + BASE="$GITEA_URL/api/packages/$PKG_OWNER/generic/$PKG_NAME/$VERSION" + + echo "package version: $VERSION" + echo "endpoint base : $BASE" + + for WAR in eapim-portal.war eapim-portal-boot.war; do + SRC="eapim-portal/build/libs/$WAR" + if [ ! -f "$SRC" ]; then + echo "::error::missing artifact: $SRC" + exit 1 + fi + HTTP=$(curl -sS -o "/tmp/pkg-upload-$WAR.log" -w '%{http_code}' \ + --user "oauth2:${{ secrets.CI_TOKEN }}" \ + --upload-file "$SRC" \ + "$BASE/$WAR") + if [ "$HTTP" != "201" ] && [ "$HTTP" != "200" ]; then + echo "::error::upload failed for $WAR (HTTP $HTTP)" + cat "/tmp/pkg-upload-$WAR.log" || true + exit 1 + fi + echo " uploaded: $WAR (HTTP $HTTP)" + done + + echo "published: $GITEA_URL/$PKG_OWNER/-/packages/generic/$PKG_NAME/$VERSION" + - name: Stop tomcat (pre-clean) working-directory: ${{ github.workspace }} run: |