-
Notifications
You must be signed in to change notification settings - Fork 1
Github Packages
For quick ACUITY installation we use Github as a storage for Maven jar/war
artifacts which are used to assemble
Docker images of different components of ACUITY application. Most of such packages are placed in corresponding repositories
VA-Security
- is a core one as it contains jar
artifacts bundled into VAHub
and AdminUI
. Any changes made in its security
and auth
modules should be applied to VAHub and AdminUI as well.
To automatically build these artifacts and Docker images during Continuous Integration(CI) we use Github Actions
We implement this mechanism by configuring .yml
files placed in each application repository under .github
directory
At the moment we have implemented auto-deployment on master branch update and auto-tests on pull-requests.
To merge your contribution to master branch you will need to verify that all tests pass locally on your machine and during such Github test workflow.
###NB!: Va-Security build action produces a dispatch event to VaHub and AdminUI repositories (to update artifacts on VaSecurity source code change)
steps:
- name: Trigger AdminUI and VAHub rebuild
uses: peter-evans/repository-dispatch@v1
with:
token: ${{ secrets.ACCESS_TOKEN }}
repository: ${{ matrix.repo }}
event-type: va-security-update
This action relies on Personal Access Token (PAT) of the first contributor of ACUITY repositories. GitHub not supports using of default GITHUB_TOKEN of corresponding worlflow to access even public repositories. In case you fork ACUITY to your repositories workflow this build step could fail due to absence of such an ACCESS_TOKEN in your forked repository. To imrove that create a personal access token (PAT) and store them in secrets of 3 repositories (VaHub,AdminUI,VaSecurity)
Docker images are primary sources to launch ACUITY app from your machines. Being updated on every source code change, they supply you with the most recent version of application. To launch ACUITY from images, please follow instructions in acuity-deployment-scripts directory and acuity-docker directory
Docker Images are build from war
and jar
artifacts using Dockerfiles
as instructions
ENV WAR_NAME $WAR_NAME
ENV ENV_TYPE_PROFILE dev
ENV AUTH_PROFILE local-no-security
ENV CONFIG_PROFILE local-config
ENV STORAGE_PROFILE local-storage
ENV CFG_SRV_LOGIN acuity
ENV CFG_SRV_PASSWORD ac3tbas1c
/ \
/ \
(docker-compose param) default value
Dockerfiles contain environment variables ENV
which are used as a application launch parameters inside corresponding docker containers.
CMD if [ "$CONFIG_PROFILE" != "local-config" ] ; \
then ./wait-for-it.sh config-server:8888 --timeout=300 --strict -- echo "Starting $WAR_NAME..." \
&& spring_config_details='-Dspring.cloud.config.username='$CFG_SRV_LOGIN' \
-Dspring.cloud.config.password='$CFG_SRV_PASSWORD' \
-Dspring.cloud.config.uri=http://config-server:8888/acuity-spring-configs'; \
else spring_config_details='-Dspring.config.location=./local-configs/'; \
You could set this env variables via docker-compose.yml
files in
environment section for particular service:
vahub:
image: ${REPOSITORY_AND_SLASH}vahub:${ACUITY_VERSION}
environment:
- ENV_TYPE_PROFILE=${ENV_TYPE_PROFILE}
- AUTH_PROFILE=${AUTH_PROFILE}
- CONFIG_PROFILE=${CONFIG_PROFILE}
- OTHER_PROFILES=NoScheduledJobs
acuity-docker
repository provides two types of docker-compose
files:
-
docker-compose.yml
- used to deploy application using images built by GitHub Actions -
docker-compose_building-mode.yml
- used to deploy application by building images in place (please refer toacuity-docker
repository for more details).
- System Requirements
- Azure Setup
- Machine Insights and CBioPortal Integration
- SSL Certificates
- Applications Setup
- Application Spring Configs
- Profiles
- Migrating to ACUITY 9
- Github packages and Docker images
- Result data tables
- Mapping data tables
- Third party solution tables
- Other data tables
- Tables to delete