Size: 2180
Comment:
|
Size: 2035
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 8: | Line 8: |
Gitlab CI is run through a file called `.gitlab-ci.yml` in the root folder of the repository. This file can setup the environment we need to run certain scripts, define how and what scripts should be run and define in what cases it should be run. An example file can be found [[https://gitlab.control.lth.se/regler/canvassync/-/blob/master/gitlab-ci.yml|here]]. | Gitlab CI is run through a file called `.gitlab-ci.yml` in the root folder of the repository. This file can setup the environment we need to run certain scripts, define how and what scripts should be run and define in what cases it should be run. An example file can be found [[https://gitlab.control.lth.se/regler/canvassync/-/blob/master/gitlab-ci.yml|here]]. It contains the CANVAS_COURSE_CODE variable which defines where the script should upload to. |
Line 11: | Line 11: |
See https://gitlab.control.lth.se/regler/<REPO>/-/settings/ci_cd, where <REPO> should be replaced with the repository name, for instructions about runners. Hopefully we will soon have some shared runners for the department, but for the moment they have to be set up for each project specifically. | Currently there is one runner for projects in the regler group on gitlab, but it is running on Albins computer and might not be there forever. See https://gitlab.control.lth.se/regler/<REPO>/-/settings/ci_cd, where <REPO> should be replaced with the repository name, for instructions about setting up your own for a specific project. |
Line 16: | Line 18: |
The script assumes there exists environment variables for a canvas API token and canvas course code. A token can be added by navigating to https://gitlab.control.lth.se/regler/<REPO>/-/settings/ci_cd, where you replace <REPO> with your repository name, and looking under Variables. There you add a token with name `CANVAS_TOKEN` and one with name `CANVAS_COURSE_CODE`. |
|
Line 21: | Line 21: |
The API token can be generated in a canvas profile, and this one is generated from an account that should have access to all courses run by Automatic Control `13596~t2TYuTRlaJnfvyTznfvhDOqq7B85o2wD2jU8NBCsixzLirB8nceTFIvUzbldIa1K`. | The API token can be generated in a canvas profile, and this one is generated from an account that should have access to all courses run by Automatic Control `13596~t2TYuTRlaJnfvyTznfvhDOqq7B85o2wD2jU8NBCsixzLirB8nceTFIvUzbldIa1K`. It is available to all repositories in the regler group on gitlab under the name CANVAS_TOKEN. |
Gitlab to Canvas syncing
For a working example check out the FRTF10-repo where as soon as any changes in pdfs are pushed to the to_canvas folder they are uploaded to the from_git folder on the canvas page.
Gitlab CI
Gitlab CI is run through a file called .gitlab-ci.yml in the root folder of the repository. This file can setup the environment we need to run certain scripts, define how and what scripts should be run and define in what cases it should be run. An example file can be found here. It contains the CANVAS_COURSE_CODE variable which defines where the script should upload to.
Runners
Currently there is one runner for projects in the regler group on gitlab, but it is running on Albins computer and might not be there forever.
See https://gitlab.control.lth.se/regler/<REPO>/-/settings/ci_cd, where <REPO> should be replaced with the repository name, for instructions about setting up your own for a specific project.
Python script
The current script uploads all files from the to_canvas folder (with subfolders) and creates the corresponding folder structure on canvas in the from_git folder.
Currently the script will upload and replace files if they already exists, but it wont otherwise delete files if they are removed from the repo.
Canvas API Token
The API token can be generated in a canvas profile, and this one is generated from an account that should have access to all courses run by Automatic Control 13596~t2TYuTRlaJnfvyTznfvhDOqq7B85o2wD2jU8NBCsixzLirB8nceTFIvUzbldIa1K. It is available to all repositories in the regler group on gitlab under the name CANVAS_TOKEN.