Use Git Workflow to Manage Multiple AWS Environments


Managing multiple AWS environments (sandbox/dev/uat/stage/prod) is challenging, as it is hard to keep track of the current status of each environment. For example, user A deploys his feature branch into dev to test his code, then later user B deploys his hotfix branch into dev to test his code. This can cause many issues: User … Continue reading Use Git Workflow to Manage Multiple AWS Environments

Automate Atlassian Add-on Management Part Two


Continue with Part One, let me list some requirements that I would like to keep in the scope: Must Have Plugins metadata (application, version, desired_state...) is source controlled.Can query plugins information (version, license, expiry date...) from servers.Can query plugins information from Atlassian Market place.Can enable/disable plugins.Can install/uninstall plugins.Can update plugins.Can check compatibility. Should Have Can … Continue reading Automate Atlassian Add-on Management Part Two

Renew AWS credential for a long run AWS CLI process


We use aws s3 sync to synchronise a big mount of files (800,000+ objects) from on-premise to AWS S3 bucket. Due to security restrictions, the Maximum CLI/API session duration is configured for 1 hour. So it is most likely the credential will expire before the sync job is completed. There are generally two places to … Continue reading Renew AWS credential for a long run AWS CLI process

git sparse-checkout command for monorepo


We are implementing monorepo internally to let all teams work closely. As there are dependencies between each team's work, it is important to understand and track the cross-project changes that go into the monorepo. Monorepo is a good practice that brings in better collaboration, but it also introduces some inconveniences. The biggest complaints I heard … Continue reading git sparse-checkout command for monorepo