BranislavBeno / Implementation-Progress-Page

MIT License
0 stars 0 forks source link

Application Tests Docker Image Deploy
Security Rating Coverage Lines of Code

Backend application for static web page creation

This backend application creates a static web page with fetched status of a particular project related to GitLab issues.
Example results are available on GitLab pages.

The Application works not as a web server, but simply fetches necessary data, creates a web page and afterward ends.
In case you need to recreate the web page, you must run the application again.

Usage

This application relies on Gitlab issues and is intended as an extension for project workflow.

The Application expects only to run instance of Gitlab from which the issues will be imported. No other services (e.g., databases, message brokers, ...) are required.

Result of application run can be directly published as a Gitlab Pages; hence the preferred way of usage is to define docker image beo1975/implementation-progress:1.4.0 as a basic image for Gitlab-CI:

image: beo1975/implementation-progress:1.4.0

pages:
  stage: deploy
  script:
    - cp -r /app/* ./
    - cp ci/application.yml BOOT-INF/classes/
    - java org.springframework.boot.loader.launch.JarLauncher
  artifacts:
    paths:
      - public

Configuration

Application will create correct output only with necessary configuration, which is done within application.yml file, e.g.:

issue:
    tracker:
        uri: https://gitlab.com
        group-id: 13289074
        project-id: 31643739
        access-token: <Provide token as CI/CD related environment variable named 'ISSUE_TRACKER_ACCESS_TOKEN'>
        epics:
            url: /api/v4/groups/{groupId}/issues
            labels: Epic
            per-page-limit: 50000
            scope: all
            state: all
        issues:
            url: /api/v4/projects/{projectId}/issues/{epicId}/links
            per-page-limit: 50000
            scope: all
            state: all
    workflow:
        prefix: "workflow::"
        types:
            - Hot-Fix
            - CR
            - Defect
            - Feature
            - Know How
            - Documentation

spring:
    main:
        web-application-type: none
    application:
        ui:
            title: <Project name>

For access token obtaining, see: Project access tokens.
For sake of safety, it's recommended to provide required project access token as an environment variable ISSUE_TRACKER_ACCESS_TOKEN on hosting OS.