-
Notifications
You must be signed in to change notification settings - Fork 53
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add GitLab on DC/OS blog post and tutorial. #831
Conversation
lunr: true | ||
--- | ||
|
||
We've been working with the team at GitLab for a few months now to bring GitLab as an easily installable package to DC/OS. This is a feature that many in the community have requested and we're happy to finally merge this package to the Universe and make it available for all! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This isn't part of DC/OS community, let's not use words like we
. Maybe you can now use GitLab easily with DC/OS
or something like that. Need to make sure the community is aware that this isn't a part of DC/OS but an application you run on top of it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My affiliation is mentioned in the author tag, so "we" was intended to refer to Mesosphere. I will make this clearer.
|
||
Using GitLab on DC/OS now allows you to co-locate all of the tools you need for developers on one easy to manage cluster. Just as with any Universe package, you can robustly install several side by side instances of GitLab to provide segregated instances for each of your development teams. Alternatively, you can just as easily install GitLab in a highly available configuration that many teams use concurrently. | ||
|
||
In this post, we'll run through a quickstart installation of GitLab to show how straightforward it is to set up an end to end continuous delivery pipeline using GitLab to host both your code and Docker images, and Jenkins to run a job that builds a Docker image on DC/OS and deploys it to Marathon. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please move all this into an actual tutorial. Discovery on blog posts and maintenance is a nightmare. Then you can link to the tutorial in docs and we'll bring it along and update every version.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done!
|
||
# Prerequisites | ||
|
||
+ DC/OS 1.8 or later |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please link to the installation docs here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done!
|
||
+ DC/OS 1.8 or later | ||
|
||
+ [Marathon-lb](https://dcos.io/docs/1.8/usage/service-discovery/marathon-lb/usage/) must be installed and running |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Drop the domain.
|
||
+ [Marathon-lb](https://dcos.io/docs/1.8/usage/service-discovery/marathon-lb/usage/) must be installed and running | ||
|
||
+ [Jenkins](https://docs.mesosphere.com/1.8/usage/service-guides/jenkins/) must be installed and running |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Drop the domain.
|
||
+ An available hostname configured to point to the public agent(s) where Marathon-lb is running (e.g. `gitlab-test.mesosphere.com`) | ||
|
||
+ Either set up appropriate certificates on each of your hosts, or configure each of your hosts to use your hostname (i.e. `gitlab-test.mesosphere.com`) as a [Docker insecure registry](https://docs.docker.com/registry/insecure/). You will need to do this for the Jenkins agent too using the [Advanced Configuration instructions](https://docs.mesosphere.com/1.8/usage/service-guides/jenkins/advanced-configuration/). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is pretty confusing. Should it be a separate topic in administration
?
|
||
<img src="/assets/images/blog/2016-09-16-gitlab/new-project.png" alt="New GitLab Project" /> *Create a New GitLab Project* | ||
|
||
1. Once this is done, clone the project to your local machine: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Syntax highlighting please.
|
||
1. Next, we'll create a simple Marathon application definition. Putting this into version control is good practice and makes it easy to implement and track changes to your application definition as the underlying application: | ||
|
||
nano marathon.json |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nano? really? also, syntax highlighting.
|
||
1. This will tell Marathon how to run our application. Paste the following into it, replacing the address to the Docker registry with your own: | ||
|
||
{ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Syntax highlighting please.
|
||
1. Finally, let's create a simple Jenkinsfile. This is a new way to programmatically define your builds that was released as part of [the Pipeline feature](https://jenkins.io/doc/pipeline/) of Jenkins 2.0. This will pull from the GitLab instance you've just set up, build the Docker image, push it to the GitLab registry, and then trigger a deployment using [the Marathon plugin](https://github.com/jenkinsci/marathon-plugin) for Jenkins: | ||
|
||
nano Jenkinsfile |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Syntax highlighting please.
|
||
1. Now that we've got our four files, add, commit and push them to the repository: | ||
|
||
git add * |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Syntax highlighting please.
Other resources: | ||
* [About GitLab](https://about.gitlab.com/about/) | ||
|
||
* [Deploy GitLab on DC/OS today](https://mesosphere.com/blog/2016/09/16/gitlab-dcos/) on the Mesosphere blog |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is this link for? Feels like we're crossing the streams.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PageRank mainly. Fine.
Is this still up for review or are we good to go? |
Hey Guys, is anything happening with this post? If it goes up I'm happy to promote it on twitter etc. |
Blocked on me @judithpatudith. |
Superceded by dcos/examples#27 |
No description provided.