Difference between revisions of "Gitlab"

From CSLabsWiki
(Remove note about disabling ssl verify now that we're using LE)
(More talos cert stuff removal, expand installation slightly.)
Line 21: Line 21:
 
}}
 
}}
   
GitLab is a git server and test build server. It can build your C, C++, LaTeX, Java (8?), python and python3 via a makefile and a .gitlab-ci.yml
+
GitLab is a git repository host, with additional features including an integrated CI system, issue trackers, and more. It can build your C, C++, LaTeX, Java (8?), python and python3 via a .gitlab-ci.yml
   
  +
The LDAP login is for COSI members, and is the same login as everything else. Students should use a standard account after it has been set up for them by their TA or a GitLab admin.
To log in, make sure that you either accept Talos as a CA or that you have manually added GitLab as an exception to your browser. You will need to accept Talos as your CA to access gitlab via git unless you toggle the httpVerify flag in Git to false.
 
   
  +
=CI/builds=
LDAP is the same as using your ldap username and password on the COSI network on the lab machines, and Local accounts are reserved for special purposes and the (non-netwokred) admins.
 
   
  +
See https://docs.gitlab.com/ce/ci/README.html for more information about GitLab CI. If you use a makefile, a simple .gitlab.yml might be:
=Build=
 
   
To have a buildable commit, make sure that you already have a makefile that Make detects, then use the following to execute it internally:
 
 
.gitlab-ci.yml
 
 
<pre>job make:
 
<pre>job make:
 
script: "make"
 
script: "make"
 
</pre>
 
</pre>
   
Once you add that to your commits, it will build them. Don't expect it to build your older commits that don't have that file though, or the makefile. If you are not using a makefile, go online to find out how to use the file to make custom build scripts.
+
Once you add that to your commits, it will build them. Don't expect it to build your older commits that don't have that file though, or the makefile.
   
 
==Monitoring==
 
==Monitoring==
Line 44: Line 41:
 
=Install=
 
=Install=
   
  +
Installation of GitLab should be done with Omnibus: https://docs.gitlab.com/omnibus/README.html. We use Let's Encrypt for the certificates. Use certbot with the webroot config, and edit the nginx configs to forward /.well-known to the configured webroot use the new cert.
Installation was done in many steps by many people. In retrospect it should have been documented properly.
 
 
I would start with a web server, gitlab-ci, gitlab-ci-runner, and git installed on the system. Install certs, and then woo. I am not sure how exactly it was created unfortunately.
 
   
 
[[Category:Web Service]]
 
[[Category:Web Service]]

Revision as of 03:05, 12 February 2017

Gitlab
IP Address(es): 128.153.145.46
Contact Person: Jared Dunbar
Last Update: Fall 2016
Services: Gitlab - Git and Build Testing Services
LDAP Support: yes


Hostname: gitlab.cslabs.clarkson.edu
Operating system: Debian 8
NIC 1: Clarkson Network
MAC: ?
IP: 128.153.145.46
CPU: 2x AMD Opteron 6220 (16 cores total)
RAM: 64GB


GitLab is a git repository host, with additional features including an integrated CI system, issue trackers, and more. It can build your C, C++, LaTeX, Java (8?), python and python3 via a .gitlab-ci.yml

The LDAP login is for COSI members, and is the same login as everything else. Students should use a standard account after it has been set up for them by their TA or a GitLab admin.

CI/builds

See https://docs.gitlab.com/ce/ci/README.html for more information about GitLab CI. If you use a makefile, a simple .gitlab.yml might be:

job make:
    script: "make"

Once you add that to your commits, it will build them. Don't expect it to build your older commits that don't have that file though, or the makefile.

Monitoring

If you think you've hung GitLab while building a large package, check http://management.cosi.clarkson.edu/gitlab to see that it is still up. Contact a maintainer if it fails to come back in 5 minutes or more. It may have caused some problems on the VM host.

Install

Installation of GitLab should be done with Omnibus: https://docs.gitlab.com/omnibus/README.html. We use Let's Encrypt for the certificates. Use certbot with the webroot config, and edit the nginx configs to forward /.well-known to the configured webroot use the new cert.