- 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
39 lines
1.1 KiB
Bash
Executable file
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"
|