n-daisuke-blog-deployment-s.../scripts/build-artifact.sh
Daisuke b9d4623d63 chore: add CI/CD tooling and project configuration
- Add commit-message-generator skill for standardized commit messages
 - Add buildspec.yml for CodeBuild Docker image build process
 - Add build-artifact.sh script for creating deployment packages
 - Add .gitignore to exclude zip files from version control
2026-01-04 12:47:40 +09:00

39 lines
1.1 KiB
Bash
Executable file

#!/usr/bin/env bash
set -euo pipefail
ROOT_DIR="$(cd "$(dirname "$0")/.." && pwd)"
ARTIFACT_DIR="${ROOT_DIR}/artifacts"
ZIP_PATH="${ARTIFACT_DIR}/blog-lambda-source.zip"
echo "Building artifact for blog-lambda pipeline..."
echo "Root directory: ${ROOT_DIR}"
mkdir -p "${ARTIFACT_DIR}"
# Create temporary directory for staging files
tmpdir="$(mktemp -d)"
trap 'rm -rf "${tmpdir}"' EXIT
# Copy necessary files for CodeBuild
echo "Copying source files..."
cp -r "${ROOT_DIR}/cmd" "${tmpdir}/cmd"
cp -r "${ROOT_DIR}/docker" "${tmpdir}/docker"
cp -r "${ROOT_DIR}/ci" "${tmpdir}/ci"
cp "${ROOT_DIR}/go.mod" "${tmpdir}/go.mod"
cp "${ROOT_DIR}/go.sum" "${tmpdir}/go.sum"
# Create the ZIP archive
echo "Creating ZIP archive..."
(
cd "${tmpdir}"
zip -r "${ZIP_PATH}" . -x "*.git*" "*.DS_Store"
)
# Display artifact info
echo ""
echo "✅ Artifact created successfully!"
echo " Path: ${ZIP_PATH}"
echo " Size: $(du -h "${ZIP_PATH}" | cut -f1)"
echo ""
echo "To upload to S3:"
echo " aws s3 cp ${ZIP_PATH} s3://\${BUCKET_NAME}/blog-lambda-source.zip"