This is the home of your own Good Governance Initiative tracking board.
[TOC]
This project helps implementing the Good Governance Initiative (GGI) framework.
The GGI framework is a guide to effectively implement, step by step, an Open Source Program Office in your organisation. It proposes 25 activities organised in 5 distinct goals.
The goal is
- to fork the my-ggi-board repository in your own GitLab space.
- fill the configuration file - including a GitLab token
- then run a script that will automatically create
- appropriate labels
- GitLab Issues that will stand for the GGI activities
- an Issues Board for a clear overview of you current activities
- a static website to share progress and current work
Multiple options here: you may want, for example, to use the Import feature proposed by GitLab, or fork manually.
Manually Fork
- Create an empty project on your target GitLab instance.
To do so, clone the my-ggi-board repository locally, and add the new project's reference to the remotes:
$ git clone https://gitlab.ow2.org/ggi/my-ggi-board.git
$ git remote add my-ggi git@gitlab.com:<your-gitlab-space>/my-ggi.git
$ git push my-ggi
GitLab Import Project
Probably simpler, but be aware that all branches will be duplicated to you own repo.
In your own GitLab space:
- Create a new project
- Choose: Import project
- Choose: Repository by URL
- Enter
https://gitlab.ow2.org/ggi/my-ggi-board.git
Two possibilities to create your GitLab token, depending on your GitLab environment: use a Project access tokens of a Personal access tokens
Project access tokens
Create an access token (Project settings > Access Tokens) with the api
privilege and with role Maintainer
. Remember it, you will never see it again.
Personal access tokens
In case the instance admin has disabled the project access token, you can use an personal access token, although we recommend creating a dedicated account for security purposes in that case. Go to Preferences > Access Tokens and create the token from there.
- Edit the file in
conf/ggi_deployment.json
, and set the variablesgitlab_url
(such ashttps://gitlab.com
) andgitlab_project
(such asmy-ggi-board
) - Commit and publish that file to your reporisory
- Export the access token as an environment variable:
export GGI_GITLAB_TOKEN=xxxxxxx
. - Create a CI/CD env variable: go to Settings > CI/CD > Variables, then add a variable named
GGI_GITLAB_TOKEN
and set the access token as the value. Make itProtected
(cannot be used in non-protected branches) andMasked
(will not be shown in Jobs logs.) - Create a virtual env and install requirements.
python3 -m venv env
source env/bin/activate
pip install -r requirements.txt
- Run the deploy script:
python3 scripts/ggi_deploy.py --activities --board
. That will:
- Create labels, activities, board.
- Setup the static website configuration.
- Replace the URL in the README.
- Commit your changes:
git commit -m 'initial commit' -a
- Push to the local gitlab instance on the
main
branch:git push my-ggi
. That will:
- Create a pipeline and gitlab page thanks to the
.gitlab_ci.yml
file. - Execute the ggi_update_website script, updating the website's content.
- Publish the gitlab page.
The ggi_test_scenario.py
script takes as argument a GitLab instance URL and a project ID, executes the creation scripts and then checks that everything is in its right place.