Skip to content

Sebastienlejeune/my-ggi-board

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This is the home of your own Good Governance Initiative tracking board.

Introduction

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/GitHub space.
  • fill the configuration file - including a GitLab/GitHub token
  • then run a script that will automatically create
    • appropriate labels
    • GitLab/GitHub Issues that will stand for the GGI activities
    • an Issues Board for a clear overview of you current activities (still work in progress for GitHub)
    • a static website to share progress and current work

How it works

Currently the deployment is supported on the following platforms:

GitLab deployment

Fork the repository

Multiple options here:

  • use the Import feature proposed by GitLab
  • fork manually.

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

  • Adjust parameters (project url, slug and visibility level)

  • Click: Create project

Manually Fork

  1. Create an empty project on your target GitLab instance.

  2. Clone the my-ggi-board repository to your new project.

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-board git@gitlab.com:<your-gitlab-space>/my-ggi-board.git
$ git push my-ggi-board

Create your GitLab token

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.

Setup the environment

  1. Edit the file in conf/ggi_deployment.json, and set the variables gitlab_url (such as https://gitlab.com) and gitlab_project (such as ggi/my-ggi-board-test)

  2. Commit and publish that file to your repository

  3. (Optional) Export the access token as an environment variable: export GGI_GITLAB_TOKEN=xxxxxxx.

  4. Enable CI/CD feature for the project : go to Settings > Visibility, project features, permissions > CI/CD and save changes

  5. (Optional) Configure GitLab Pages feature for the project : go to Deploy > Pages, uncheck 'Use unique domain' and Save changes

  6. 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 it Masked and hidden (will not be shown in Jobs logs and revealed once set), Protected (cannot be used in non-protected branches) and non-expandable.

  7. Run the pipeline: go to Build > Pipelines, click on the button 'New Pipeline' and then click on the button 'Run Pipeline'

  8. Once the pipeline is over, you are done, your dashboard is ready !

GitHub deployment

Fork the repository

To deploy on GitHub, the simplest is to fork the GitHub mirror repository in your own space, using the Fork feature.

Configure the project

  1. Go to the repository Settings > General > Features and enable 'Issues' and 'Projects'.

Configure your GitHub token

  1. Go to User Settings > Developer setting > Personal access tokens > Tokens (classic).

  2. Click on 'Generate a new token' then 'Generate new token (classic)'

  3. Name it 'my-ggi-board', choose an expiration and select scopes 'Repo' and 'Workflow'

  4. Click on 'Generate token'

  5. Create a GitHub Actions env variable:

    • go to the repository Settings > Secrets and Variables > Actions
    • Click on New repository secret
    • Name the secret GGI_GITHUB_TOKEN and paste your newly created access token below. Click on 'Add secret'.

Run the GitHub Action

  1. Click on the Action menu entry

  2. Make sure you agree with the text, click I understant my workflows, go ahead and enable them

  3. Click on My GGI Deploy deployment to enable the workflow

  4. Click on Run workflow

This will:

  • Create labels, activities and board.

  • Setup the static website configuration.

  • Replace the URL in the description.

  • Update the website's content.

  • Publish the result on GitHub pages.