This repository is for packages.groonga.org.
% sudo apt install -V ansible
% rake deploy
% sudo apt install -V vagrant ansible
% bundle install
% rake
- Create a new team for release in the target organization
- e.g. Create
pgroonga-releaseat https://github.com/orgs/pgroonga/new-team for PGroonga
- e.g. Create
- Add the
groonga-releaseuser to the added team - Add the added team to target project's collaborators with "Write"
role
- e.g. Add the added team to pgroonga/pgroonga with "Write" role at https://github.com/pgroonga/pgroonga/settings/access
- Setup personal access tokens for the target organization
- e.g. https://github.com/organizations/pgroonga/settings/personal-access-tokens-onboarding
- "Allow access via fine-grained personal access tokens"
- "Require administrator approval"
- "Restrict access via personal access tokens (classic)"
- e.g. https://github.com/organizations/pgroonga/settings/personal-access-tokens-onboarding
- Login to GitHub as the
groonga-releaseuser - Create a new fine-grained personal access token at
https://github.com/settings/personal-access-tokens
- Token name: Project name: e.g. PGroonga
- Resource owner: Target organization: e.g. pgroonga
- Repository access: Only select repositories: e.g. pgroonga/pgroonga
- Repository permissions:
- Metadata: Read-only
- Contents: Read and write: We need to upload signed artifacts to GitHub Releases
- You must copy the generated token
- Add the generated token to
packages.github_token.${ORGANIZATION}inansible/vars/private.yml- e.g. Run
rake private.ymland addpackages.github_token.pgroongawith the copied generated token
- e.g. Run
- Approve the created fine-grained personal access token in the target organization
- Add
ansible/templates/home/packages/.env.#{ORGANIZATION}.jinjawithGH_TOKEN={{ packages.github_token.#{ORGANIZATION} }}- e.g.
GH_TOKEN={{ packages.github_token.pgroonga }}
- e.g.
- Add the added
.env.#{ORGANIZATION}.jinjatoansible/playbook.yml - Deploy by
rake deploy - Add a webhook to the target project
- e.g. https://github.com/pgroonga/pgroonga/settings/hooks
- Payload URL: https://packages.groonga.org/webhook
- Content type:
application/json - Secret: See
packages.webhook.secret_tokeninansible-vault view --vault-password-file=ansible/password ansible/vars/private.yml - Which events would you like to trigger this webhook?:
Let me select individual events.Releases
- e.g. https://github.com/pgroonga/pgroonga/settings/hooks
- Codes in
ansible/files/home/: GPLv3+ - Others: CC0-1.0
See COPYING for GPLv3+ and LICENSE for CC0-1.0.