is the open-source version of GitHub. Both are web-based git repositories that come with a whole bunch of project management tools
such as a web-based UI, issue trackers, task managers, and continuous integration (CI).
A local installation of the Community Edition (CE) of GitLab
is available to use by anyone with a CLASSE account. Just log in with your CLASSE credentials and you will have a profile automatically set up. You can immediately begin creating projects or contributing to other projects.
Create a Project
If you've already used GitHub, you know how to use GitLab. If you're new to GitLab, just go create a new project
and you will immediately see the basic steps you need to get started.
Please see How To Create A Project
for more information.
You can create issues in a project to keep track of feature requests, bug reports, or any other questions or problems you might have.
GitLab Issues documentation: https://gitlab01.classe.cornell.edu/help/user/project/issues/index.md
- Login to https://gitlab01.classe.cornell.edu/
- Click on your desired project
- Click the Issues tab
- Click the New Issue button
- Give the issue a title and if desired add details
- Click the Submit button
There are many other options for labelling the issue, etc. But the above steps are all that is required.
CLASSE-IT will receive an email notification every time an Issue is submitted and updated.
Depending on your settings, you will also receive email notifications when the issue is updated.
Continuous Integration (CI)
In its most basic sense, CI is an automated process of building, testing, (and if the tests pass) deploying code.
If you would like to use GitLab's Continuous Integration feature
, add your project to the GitLab Runner
. If you do not have permissions to do so, contact CLASSE-IT and we will assist you.
The project may also need permissions changed in order to use Pipelines. Within the project got to Settings -> Permissions and check that Pipelines is enabled.
.gitlab-ci.yml configuration file
The main thing you'll need to get CI running is a .gitlab-ci.yml configuration file
committed to the root directory of your project. This file can be created right in GitLab itself. Once you create this file, GitLab will tell you if it's valid or not. Once it is, and this file has been committed the first Pipeline job should run.
APP_NAME: "CHESS Inventory DB"
- ./gradlew clean build --version
- ./gradlew war
- "echo workspace: $PWD"
- ls $PWD/build/libs
expire_in: 1 week
- "echo deploying $APP_NAME to Dev environment"
- "echo host: $DEV_HOST"
- "echo url: $DEV_URL"
- /nfs/classe/glassfish/bin/asadmin --user $USER --passwordfile /nfs/classe/glassfish-dev/glassfish/domains/domain1/config/.passwordfile --host $DEV_HOST deploy --force=true $PWD/build/libs/chess-inventory-db.war
GitLab Project Settings
You may need to change a project's CI/CD setting in order for the build to work correctly. Working projects have the following set to "blank":
From the project page: Settings -> CI/CD -> General Pipelines -> git fetch -> Git shallow clone