Skip to content
Snippets Groups Projects
Commit 41bbaad0 authored by Ernst van Nierop's avatar Ernst van Nierop
Browse files

Further MR conflict resolution

parents fe94f965 07aeda65
No related branches found
No related tags found
1 merge request!1699Sometimes contractors are actually companies.
Showing
with 562 additions and 359 deletions
* text=auto
*.md text eol=lf
Loading
Loading
@@ -41,7 +41,7 @@ class GitLabProject
end
 
def milestone_direction_issues(milestone_id)
@instance.call("/projects/#{@id}/issues", "?milestone=#{milestone_id}&labels=direction&state=opened")
@instance.call("/projects/#{@id}/issues", "?milestone=#{milestone_id}&labels=direction")
end
 
def name
Loading
Loading
@@ -92,7 +92,7 @@ task :direction_issues do
end
end
 
file_path = "source/direction2/index.md"
file_path = "source/direction/index.md"
 
original_file = File.read(file_path)
new_contents = original_file.gsub(/<!-- direction_issues -->/, output)
Loading
Loading
Loading
Loading
@@ -599,7 +599,7 @@
Michael has been helping customers choose, deploy, and use software development tools since the 80's at companies like Borland, Symantec, Gupta, and Perforce. Michael is passionate about building teams and business in the far-flung corners of the world. When not working, Michael is an award winning wine maker and heavily involved in the local Boy Scouts.
 
- name: Pablo Carranza
role: Senior <a href="https://about.gitlab.com/jobs/production-engineer/">Production Engineer</a>
role: Senior <a href="https://about.gitlab.com/jobs/production-engineer/">Production Engineer</a> and operations lead
reports_to: CEO
picture: pablo.jpg
twitter: psczg
Loading
Loading
@@ -697,6 +697,24 @@
story: |
Joining March 9th
 
- name: E.A.
role: <a href="https://about.gitlab.com/jobs/frontend-engineer/">Frontend Engineer</a>
reports_to: CTO
picture: logo-extra-whitespace.png
twitter:
gitlab:
story: |
Joining March 14th
- name: J.B.
role: <a href="https://about.gitlab.com/jobs/strategic-relations-manager/">Strategic Relations Manager</a>
reports_to: CEO
picture: logo-extra-whitespace.png
twitter:
gitlab:
story: |
Joining March 15th
- name: T.A.
role: <a href="https://about.gitlab.com/jobs/developer/">Developer</a>
reports_to: Development Lead
Loading
Loading
@@ -705,3 +723,13 @@
gitlab:
story: |
Joining April 11th
- name: M.F.
role: <a href="https://about.gitlab.com/jobs/service-engineer/">Service Engineer</a>
reports_to: COO
picture: logo-extra-whitespace.png
twitter:
gitlab:
story: |
Joining May 1st
Loading
Loading
@@ -98,7 +98,7 @@ that you can use by simply selecting them.
## Comes with a CI!
 
With every GitLab installation, you get our continuous integration tool
GitLab CI! GitLab.com users can use it for free on [ci.gitlab.com](https://ci.gitlab.com/). It integrates fully with GitLab, so you can easily see the
GitLab CI! GitLab.com users [can use it for free](http://doc.gitlab.com/ce/ci/quick_start/README.html). It integrates fully with GitLab, so you can easily see the
build status of any branch, commit or merge request and run your
deployments automatically after!
 
Loading
Loading
---
layout: post
title: "GitLab: In case you missed it"
date: 2016-03-14
comments: true
author: Ivan Nemytchenko
author_twitter: inemation
image_title: '/images/unsplash/key-concepts.jpg'
---
I've recently joined GitLab as a Developer Advocate.
Part of my role will be traveling to community events where I hope we'll meet in person.
I'm also an experienced Ruby developer.
As a rubyist, naturally, I've heard about GitLab and even used it couple of times.
The first two weeks working with GitLab have been full of pleasant surprises and dispelled delusions.
If you haven't been following GitLab for the last two years, this post is for you.
<!--more-->
## GitLab.com
You don't have to download and install GitLab nowadays.
You can simply [sign up for GitLab.com](https://gitlab.com/users/sign_in) and host your own repositories.
Even the private ones.
Yes, for free and without any restrictions.
No, there is no catch.
It should be noted that repositories are actually called "projects".
And that is not the only thing that catches your eye at first.
As it turns out, the terminology is justified.
## The terminology
These aren't just fancy terms to stand out from the crowd.
I strongly recommend reading the article about [GitLab, Github and Bitbucket and terms comparison](https://about.gitlab.com/2016/01/27/comparing-terms-gitlab-github-bitbucket/), if you wish to sort out the details.
I'd like to bring up the "Merge requests" topic, as it's the most controversial.
My initial reaction, naturally, was rejection. Most of us are accustomed to
"Pull requests", so what's the big idea?
But then I remembered that the title "Pull request" never did make perfect
sense to me because closing a pull request actually does branch merging.
As it turns out, there is a command [`git request-pull`](https://git-scm.com/docs/git-request-pull),
hence the feature title.
Pull requests have nothing in common with this git command. So, technically the correct name is "merge request".
[Learn more](https://about.gitlab.com/2016/01/27/comparing-terms-gitlab-github-bitbucket/) on terminology differences, if you're interested.
The terminology was just a part of the deal.
When reading the documentation, I discovered something called "omnibus" and
found some mysterious "runners" and "shared runners" in the settings.
But first things first.
Runners are connected to CI.
Omnibus is related to GitLab installation on your own server.
## Continuous Integration (CI)
Continuous Integration is a best practice in software development.
For example, a CI server runs your tests every time you push changes to the repository.
A lot of companies have a separate CI service but in GitLab, [CI is embedded](http://docs.gitlab.com/ce/ci/).
If you had to manually connect two services before, it just works on its own in GitLab.
Though you can still use other continuous integration services such as [Jenkins](http://doc.gitlab.com/ee/integration/jenkins.html).
And it works through runners.
## Runners
A runner is a virtual machine that runs your tests, builds your builds or generates static files for your websites.
GitLab.com users are able to make use of a special [Shared Runners](http://doc.gitlab.com/ce/ci/quick_start/README.html#shared-runners) pool to simply make everything work.
Since the pool is shared across all projects on GitLab.com, sometimes it can
take a while to wait for your project's build to be processed.
If you are not satisfied with the Shared runners performance, you can
[setup a runner](https://about.gitlab.com/2016/03/01/gitlab-runner-with-docker/)
on your own server and connect it to one or more projects.
Don't forget that you can install GitLab on your own server as well.
## GitLab installation with Omnibus
In the past, GitLab was installed manually.
Now you can install and update the service from packages thanks to Omnibus.
[Omnibus](http://doc.gitlab.com/omnibus) is a tool developed by Chef
that helps to create installation packages for complex software with a lot of
components for various platforms.
Any installation using Omnibus lasts for 2-6 minutes tops, depending on your server performance.
This is what GitLab installation looks like on Ubuntu 14.04 using a relatively slow VPS with 2Gb running memory:
<script type="text/javascript" src="https://asciinema.org/a/39151.js" id="asciicast-39151" async></script>
Hint: in case you'd prefer not to mess with console installation and updates at
all, you can simply rent a GitLab server on [Githost.io](https://githost.io/)
Both Omnibus and built-in CI are just a portion of what is being done to make developers' jobs easier.
Let us review a few features.
## Small features that make a difference
### Merge when build succeeds
With GitLab, you don't have to wait for your build to turn green to finally merge the branch.
You can simply ask GitLab to do that for you.
![Merge when build succeeds](/images/automerge.jpg)
### Publishing with GitLab Pages
GitLab Pages runs on top of the built-in CI.
Thanks to the feature, you can host websites created by any static site generators on GitLab.
Fork a repo from [GitLab examples](https://gitlab.com/groups/gitlab-examples?utf8=%E2%9C%93&filter_projects=pages-)
or figure out GitLab CI settings to forget all about the manual static generation.
You simply push your changes to the repository and GitLab generates and deploys everything on its own.
Custom CNAME and TLS [are supported](http://doc.gitlab.com/ee/pages/README.html#add-a-custom-domain-to-your-pages-website).
These kinds of features have become possible due to the synergy between system components.
There's much more coming.
## GitLab Direction
Please don't be surprised once a crashed build creates a TODO automatically or GitLab introduces built-in chat.
If you want to know where GitLab is heading, keep an eye on the [Direction page](https://about.gitlab.com/direction/).
This includes not only the short term objectives for the next release, but also the long-range vision.
* * *
Hopefully, this article has helped you to fill in the gaps in understanding what GitLab is now.
I'm planning to write two more articles: about migrating personal projects to GitLab and about contributing to GitLab.
Stay tuned and [follow me on Twitter](https://twitter.com/inemation).
I'm always happy to answer your questions in comments or personally.
Over the next several weeks I will be speaking at the following Ukrainian Ruby-meetups, where we can catch up:
- [Ruby Meditation, Kiev](https://www.facebook.com/events/406794219490854/) (March 18)
- [Pivorak, Lviv](https://www.facebook.com/pivorak/) (March 26)
## Join our webcast about GitLab CI.
I mentioned Gitlab CI a few times in this blog post. If you're interested,
we'll have a live webcast all about GitLab CI.
- Date: Thursday, April 14, 2016
- Time: 5pm (17:00) UTC; 12pm EST; 9am PST
- [Register here][webcast]
Can't make these times? Register anyway, and we'll send you a link to watch later.
[webcast]: http://page.gitlab.com/apr-2016-gitlab-intro-ci-webcast.html
---
layout: post
title: "GitLab 8.5.6 Released"
date: 2016-03-15 16:00
comments: true
author: GitLab
author_twitter: gitlab
filename: 2016-03-15-gitlab-8-dot-5-dot-6-released.markdown
---
Today we are releasing version 8.5.6 for GitLab Community Edition (CE) and
Enterprise Edition (EE).
This version includes one LDAP fix.
Read on for all the details!
<!-- more -->
- **CE/EE:** Obtain a lease before querying LDAP ([!3181])
[!3181]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/3181
## Details about the LDAP fix
Before the LDAP fix above it could happen that a single GitLab user triggered
multiple simultaneous LDAP checks due to a race condition. On large LDAP-enabled
GitLab servers, especially with GitLab Enterprise Edition, this could generate
unnecessary load on the GitLab server.
We now use a 10-minute “lease” in Redis to ensure that at most one LDAP check is
started per user during this time interval.
## Upgrade barometer
This version does not include any new migrations, and should not require
any downtime.
Please be aware that by default the Omnibus packages will stop, run migrations,
and start again, no matter how “big” or “small” the upgrade is. This behavior
can be changed by adding a [`/etc/gitlab/skip-auto-migrations`
file](http://doc.gitlab.com/omnibus/update/README.html).
## Updating
To update, check out our [update page](https://about.gitlab.com/update).
## Enterprise Edition
Interested in GitLab Enterprise Edition? Check out the [features exclusive to
EE](https://about.gitlab.com/features/#enterprise).
Access to GitLab Enterprise Edition is included with a [subscription](https://about.gitlab.com/pricing/).
No time to upgrade GitLab yourself? Subscribers receive upgrade and installation
services.
---
layout: post
title: "GitLab 8.5.7 Released"
date: 2016-03-16 00:20
comments: true
author: GitLab
author_twitter: gitlab
filename: 2016-03-16-gitlab-8-dot-5-dot-7-released.markdown
---
Today we are releasing version 8.5.7 for GitLab Community Edition (CE) and
Enterprise Edition (EE).
This version raises the minimum required Git version to 2.7.3 to address the
recent [remote code execution](http://seclists.org/oss-sec/2016/q1/645)
vulnerability. The Omnibus packages have been updated to include this new
version.
<!-- more -->
- **Omnibus:** Update Git to 2.7.3 ([!687])
- **CE/EE:** Bump Git version requirement to 2.7.3 ([!3240])
[!687]: https://gitlab.com/gitlab-org/omnibus-gitlab/merge_requests/687
[!3240]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/3240
## Upgrade barometer
This version does not include any new migrations, and should not require
any downtime.
Please be aware that by default the Omnibus packages will stop, run migrations,
and start again, no matter how “big” or “small” the upgrade is. This behavior
can be changed by adding a [`/etc/gitlab/skip-auto-migrations`
file](http://doc.gitlab.com/omnibus/update/README.html).
## Updating
To update, check out our [update page](https://about.gitlab.com/update).
## Enterprise Edition
Interested in GitLab Enterprise Edition? Check out the [features exclusive to
EE](https://about.gitlab.com/features/#enterprise).
Access to GitLab Enterprise Edition is included with a [subscription](https://about.gitlab.com/pricing/).
No time to upgrade GitLab yourself? Subscribers receive upgrade and installation
services.
Loading
Loading
@@ -33,51 +33,15 @@ On our [release list page](https://about.gitlab.com/release-list/) you can find
## Next releases
 
GitLab releases a new version every single month on the 22nd.
Note that we often move things around, do things that are not listed and we don't always get to do everything that is planned.
Note that we often move things around, do things that are not listed and don't do things that are listed.
EE options are indicated with 'EE option' in the issue title, this is our best estimate of what will be options, it is not definitive.
Also the list below not include any contributions from outside GitLab the company.
The bullets list the tentpole features; the most important features of upcoming releases.
The CE and EE to the right of the version number link to all planned issues for that version.
 
### 8.6 [CE](https://gitlab.com/gitlab-org/gitlab-ce/milestones/22) [EE](https://gitlab.com/gitlab-org/gitlab-ee/milestones/8) March 22nd
- [First iteration](https://gitlab.com/gitlab-org/gitlab-ce/issues/14149) of [GitLab Deploy](https://gitlab.com/gitlab-org/gitlab-ce/issues/3286)
- [Project import / export](https://gitlab.com/gitlab-org/gitlab-ce/issues/3050)
- [External users](https://gitlab.com/gitlab-org/gitlab-ce/issues/4009)
- [Push to a remote repository (EE)](https://gitlab.com/gitlab-org/gitlab-ee/issues/116)
- [Confidential issues (EE)](https://gitlab.com/gitlab-org/gitlab-ce/issues/3678)
- [Merge even if master is updated](https://gitlab.com/gitlab-org/gitlab-ce/issues/3873)
- [Acknowledge line comments on a MR](https://gitlab.com/gitlab-org/gitlab-ce/issues/10325)
- [Ability to delete issues](https://gitlab.com/gitlab-org/gitlab-ce/issues/2489)
- [Get rid of default login credentials](https://gitlab.com/gitlab-org/gitlab-ce/issues/1980)
- [HA Omnibus packages (EE option?)](https://gitlab.com/gitlab-org/gitlab-ee/issues/77)
- [Due date for issues](https://gitlab.com/gitlab-org/gitlab-ce/issues/12709)
- [Subscribe to a Label](https://gitlab.com/gitlab-org/gitlab-ce/issues/12743)
- [Move issues between projects](https://gitlab.com/gitlab-org/gitlab-ce/issues/3024)
### 8.7 [CE](https://gitlab.com/gitlab-org/gitlab-ce/milestones/23) [EE](https://gitlab.com/gitlab-org/gitlab-ee/milestones/9) April 22nd
- Second iteration of [GitLab Deploy](https://gitlab.com/gitlab-org/gitlab-ce/issues/3286)
- [CI Pipeline](https://gitlab.com/gitlab-org/gitlab-ce/issues/3743)
- [Squash commits upon Merging (EE)](https://gitlab.com/gitlab-org/gitlab-ee/issues/150)
- [Run build on merged code before merging (EE?)](https://gitlab.com/gitlab-org/gitlab-ce/issues/4176)
- [Code management analytics (EE option?)](https://gitlab.com/gitlab-org/gitlab-ee/issues/112)
- [Delivery analytics (EE option?)](https://gitlab.com/gitlab-org/gitlab-ee/issues/110)
- [Subscribe to new Issues](https://gitlab.com/gitlab-org/gitlab-ce/issues/12758)
- [Performance monitoring (EE)](https://gitlab.com/gitlab-org/omnibus-gitlab/issues/1008)
- [Request access to a repo](https://gitlab.com/gitlab-org/gitlab-ce/issues/13948)
- [Award emoji in comments](https://gitlab.com/gitlab-org/gitlab-ce/issues/3655)
- [Comment on Images in Diffs](https://gitlab.com/gitlab-org/gitlab-ce/issues/2641)
- [LICENSE templates](https://gitlab.com/gitlab-org/gitlab-ce/issues/12804)
### 8.8 [CE](https://gitlab.com/gitlab-org/gitlab-ce/milestones/24) [EE](https://gitlab.com/gitlab-org/gitlab-ee/milestones/10)
- Third iteration of [GitLab Deploy](https://gitlab.com/gitlab-org/gitlab-ce/issues/3286)
- [Multiline comments](https://gitlab.com/gitlab-org/gitlab-ce/issues/4143)
- [Mailing list functionality](https://gitlab.com/gitlab-org/gitlab-ce/issues/4272)
- [.gitignore templates](https://gitlab.com/gitlab-org/gitlab-ce/issues/14106)
- [Watch projects I'm not a member of](https://gitlab.com/gitlab-org/gitlab-ce/issues/9013) which is dependent on [participants table](https://gitlab.com/gitlab-org/gitlab-ce/issues/3965)
- [Use votes for acceptance of MRs](https://gitlab.com/gitlab-org/gitlab-ce/issues/13411)
<!-- direction_issues -->
<!-- do not remove or modify these lines -->
 
## Wishlist
 
Loading
Loading
@@ -129,7 +93,7 @@ We very much welcome contributions that implement any of these things.
- [Distributed code-reviews and issues](https://gitlab.com/gitlab-org/gitlab-ce/issues/4084)
- [Render PSD files](https://gitlab.com/gitlab-org/gitlab-ce/issues/13189)
- [Snippets backed by a git repository to enable cloning and revisions](https://gitlab.com/gitlab-org/gitlab-ce/issues/13426)
- [Binary file lock (EE option?)](https://gitlab.com/gitlab-org/gitlab-ce/issues/7889)
- [Binary file lock (EE option)](https://gitlab.com/gitlab-org/gitlab-ce/issues/7889)
 
### Performance
 
Loading
Loading
@@ -146,8 +110,35 @@ We very much welcome contributions that implement any of these things.
- [Automatically give code quality metrics in the merge request](https://gitlab.com/gitlab-org/gitlab-ce/issues/4044)
- [Automatic Docker image cleanup](https://gitlab.com/ayufan/gitlab-runner-docker-cleanup/issues/1)
- [Show code coverage in diffs with colored horizontal bar](https://gitlab.com/gitlab-org/gitlab-ce/issues/4073)
- [A/B testing of branches with GitLab Pages (EE option?)](https://gitlab.com/gitlab-org/gitlab-ee/issues/117)
- [Code coverage graphs and adding more metrics (EE option?)](https://gitlab.com/gitlab-org/gitlab-ce/issues/13409)
- [A/B testing of branches with GitLab Pages (EE option)](https://gitlab.com/gitlab-org/gitlab-ee/issues/117)
- [Code coverage graphs and adding more metrics (EE option)](https://gitlab.com/gitlab-org/gitlab-ce/issues/13409)
- Pre-testing of merged results (EE option)
- Feature deploy (measure KPI and use feature toggles) (EE option)
- Automatic environment per merge request (EE option)
- Automatic A/B testing of branches (EE option)
- Configuration management integration (Chef, Puppet, Ansible, Salt) (EE option)
### Access control
- Directory access management (EE option)
- Turnstile security that is self learning and location dependent (EE option)
- Automated vulnerability scanner (EE option)
### Tracebility
Watermarking of binaries that are downloaded (EE option)
Build traceability (trace binary to source) (EE option)
New code license detection (scans the internet) (EE option)
### Analytics
- Advanced compliance reporting on access rights (EE option)
- Advanced analytics features (EE option)
### Reporting
- Aggregated time reports (time spent per project, etc.) (EE option)
- Management dashboard (time spend per phase, cycle time and velocity) (EE option)
 
### Scope <a name="scope"></a>
 
Loading
Loading
---
layout: markdown_page
title: "GitLab Direction"
---
This page describes the direction and roadmap for GitLab.
It is organized from the short to the long term.
## Your contributions
GitLab's direction is determined by the code that is sent by our [contributors](http://contributors.gitlab.com/).
We continually merge code to be released in the next version.
Contributing is the best way to get a feature you want included.
On [our issue tracker for CE](https://gitlab.com/gitlab-org/gitlab-ce/issues)
and [EE](https://gitlab.com/gitlab-org/gitlab-ee/issues),
many requests are made for features and changes to GitLab.
The ones with the
[status accepting merge requests](https://gitlab.com/gitlab-org/gitlab-ce/issues?milestone_id=&scope=all&sort=created_desc&state=opened&utf8=%E2%9C%93&assignee_id=&author_id=&milestone_title=&label_name=Accepting+Merge+Requests&weight=)
are pre-approved.
Of course before any code is merged it still has to meet the
[contribution acceptance criteria](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md#contribution-acceptance-criteria).
## What our customers want
At GitLab the company we try to make what our users and we need (many of us are or used to be developers).
If a customer requests a feature, it carries extra weight.
Due to our short release cycle we can ship simple feature requests (for example an API extension) within one to two months.
## Previous releases
On our [release list page](https://about.gitlab.com/release-list/) you can find an overview of the most important features of recent releases and a links to the release blog posts.
## Next releases
GitLab releases a new version every single month on the 22nd.
Note that we often move things around, do things that are not listed and we don't always get to do everything that is planned.
Also the list below not include any contributions from outside GitLab the company.
The bullets list the tentpole features; the most important features of upcoming releases.
The CE and EE to the right of the version number link to all planned issues for that version.
<!-- direction_issues -->
<!-- do not remove these lines -->
## Wishlist
Below are features we'd really like to see in GitLab.
This list is not prioritized.
We very much welcome contributions that implement any of these things.
### Next to plan.
- [Project / Repo templates](https://gitlab.com/gitlab-org/gitlab-ce/issues/3785)
- [Award emoji in comments](https://gitlab.com/gitlab-org/gitlab-ce/issues/3655)
- [Comment on Images in Diffs](https://gitlab.com/gitlab-org/gitlab-ce/issues/2641)
- [Mailing list functionality](https://gitlab.com/gitlab-org/gitlab-ce/issues/4272)
### Major Wins
- [Translations](https://gitlab.com/gitlab-org/gitlab-ce/issues/4012)
- [Nested Groups](https://gitlab.com/gitlab-org/gitlab-ce/issues/2772)
- [Resolve merge conflicts in the web interface](https://gitlab.com/gitlab-org/gitlab-ce/issues/3567)
- [Multithreaded application server](https://gitlab.com/gitlab-org/gitlab-ce/issues/3592)
- [Realtime editing of the issue/MR description field](https://gitlab.com/gitlab-org/gitlab-ce/issues/4199)
- [Handle incoming emails with support questions in issues](https://gitlab.com/gitlab-org/gitlab-ee/issues/149)
- [Cherry-pick MR into any branch in the web interface](https://gitlab.com/gitlab-org/gitlab-ce/issues/12785)
### Usability
- [See all forked projects of one project](https://gitlab.com/gitlab-org/gitlab-ce/issues/2406)
- [Email actions](https://gitlab.com/gitlab-org/gitlab-ce/issues/4273)
- [Improved emails on push](https://gitlab.com/gitlab-org/gitlab-ee/issues/146)
- [Autocomplete all users](https://gitlab.com/gitlab-org/gitlab-ce/issues/3872)
- [Create branch from issue](https://gitlab.com/gitlab-org/gitlab-ce/issues/3886)
### Code Review
- [See current HEAD in outdated discussion](https://gitlab.com/gitlab-org/gitlab-ce/issues/3502)
- [Allow cross server merge requests](https://gitlab.com/gitlab-org/gitlab-ce/issues/4013)
- [Ability to checkout the result of MR available before merging](https://gitlab.com/gitlab-org/gitlab-ce/issues/2765)
- [Syntax highlighting for diffs](https://gitlab.com/gitlab-org/gitlab-ce/issues/3292)
- [Transactional MR comments](https://gitlab.com/gitlab-org/gitlab-ce/issues/3364)
### Project Management
- [Filter by more than one label](https://gitlab.com/gitlab-org/gitlab-ce/issues/989)
- [Move issues between projects](https://gitlab.com/gitlab-org/gitlab-ce/issues/3024)
- [Time tracking](https://gitlab.com/gitlab-org/gitlab-ee/issues/78)
- [Labels should be visible in Milestone view](https://gitlab.com/gitlab-org/gitlab-ce/issues/3276)
### Productivity
- [Change notification setting](https://gitlab.com/gitlab-org/gitlab-ce/issues/3778)
- [Add more default views](https://gitlab.com/gitlab-com/www-gitlab-com/edit/master/source/direction/index.md)
### Version Control for Everything
- [Distributed code-reviews and issues](https://gitlab.com/gitlab-org/gitlab-ce/issues/4084)
- [Render PSD files](https://gitlab.com/gitlab-org/gitlab-ce/issues/13189)
### Performance
- [Handle errors before they give a 500](https://gitlab.com/gitlab-org/gitlab-ce/issues/4665)
- [Get rid of the large authorized keys (SSH) file](https://gitlab.com/gitlab-org/gitlab-git-http-server/issues/2#note_1983654)
- [Participants table](https://gitlab.com/gitlab-org/gitlab-ce/issues/3965)
- [Reduce memory leaks](https://gitlab.com/gitlab-org/gitlab-ce/issues/13241)
### CI
- [Runner Autoscale](https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/issues/318)
- [Document dependent builds / pipeline triggers](https://gitlab.com/gitlab-org/gitlab-ce/issues/3432)
- [Deploy your branch button](https://gitlab.com/gitlab-org/gitlab-ce/issues/3286)
- [Automatically give code quality metrics in the merge request](https://gitlab.com/gitlab-org/gitlab-ce/issues/4044)
- [Automatic Docker image cleanup](https://gitlab.com/ayufan/gitlab-runner-docker-cleanup/issues/1)
- [Show code coverage in diffs with colored horizontal bar](https://gitlab.com/gitlab-org/gitlab-ce/issues/4073)
- [A/B testing of branches with GitLab Pages](https://gitlab.com/gitlab-org/gitlab-ee/issues/117)
### Software to ship in the Omnibus packages
The software development lifecycle and collaboration on digital products happens with the following stack of tools that we want to ship in our Omnibus packages:
1. **Chat** conversation => Mattermost, [Rocket.Chat](http://rocket.chat/) if they can make it [work with PostgreSQL](https://github.com/RocketChat/Rocket.Chat/issues/533)
1. **Issue** creation => GitLab Issues
1. **Scrum** board to plan => [Huboard](https://huboard.com/) for which there is a [bounty](https://github.com/huboard/huboard/issues/276)
1. **Development** => [Browser IDE](https://gitlab.com/gitlab-org/gitlab-ce/issues/12759)
1. **Version control** => GitLab Repo
1. **Continuous integration** => GitLab CI
1. **Merge Request** discussion => GitLab MR
1. **Deploy** to production => [GitLab Deploy](https://gitlab.com/gitlab-org/gitlab-ce/issues/3286)
1. **Chatops** to check => [Hubot](https://hubot.github.com/) which has a [Merge Request](https://gitlab.com/gitlab-org/omnibus-gitlab/merge_requests/564) or [Lita](https://www.lita.io/)
We're still deciding if application performance monitoring is in our scope, for example with Grafana and InfluxDB.
Things that are outside our scope are:
1. **PaaS** although we do want to use [GitLab Deploy](https://gitlab.com/gitlab-org/gitlab-ce/issues/3286) to deploy to CloudFoundry, OpenStack, OpenShift, Kubernetes, Mesos DCOS, Docker Swarm, Atlas/Terraform, [Nomad](https://nomadproject.io/), [Deis](http://deis.io/), [Convox](http://www.convox.com/), [Flynn](https://flynn.io/), [Tutum](https://www.tutum.co/), [GiantSwarm](https://giantswarm.io/), [Rancher](https://github.com/rancher/rancher/blob/master/README.md)
1. **Configuration management** although we do want to upload cookbooks, manifests, playbooks, and modules for respectively Chef, Puppet, Ansible, and Salt.
1. **Log monitoring** (ELK stack, Splunk)
1. **Network** (Openflow, VMware NSX, Cisco ACI)
1. **Security** applications
### We would love to partner with
- Scrum boards: We already support [some of them](https://about.gitlab.com/applications/#scrum-boards) but would love for [Waffle.io](https://waffle.io/), and [Zenhub.io](https://www.zenhub.io/) to support GitLab too.
- [CodeClimate](https://gitlab.com/gitlab-org/gitlab-ce/issues/4044)
- [Oracle database support (EE)](https://gitlab.com/gitlab-org/gitlab-ee/issues/96)
- Browser IDE's to ship GitLab with them and to have button to open them from GitLab: Koding, Nitrous.io, [Cloud9](https://c9.io/blog/cloud9-template-days/), CodeAnywhere, Codio, and CodeEnvy
## Vision <a name="vision"></a>
From development teams to marketing organizations, everyone needs to collaborate on
digital content. Content should be open to suggestions by a wide number of
potential contributors. Open contribution can be achieved by using a mergeable
file format and distributed version control. The vision of GitLab is to **allow
everyone to collaborate on all digital content** so people can cooperate
effectively and achieve better results, faster.
Idea's flow though many stages before they are realized: chat, issue, sprint,
IDE, commit, CI, review, acceptance, deployment. Stitching all these stages
together can be done in many different ways. You can have a marketplace of
proprietary apps from different suppliers or use a suite of products developed
in isolation. We believe that an **opinionated and integrated set of tools based
on convention over configuration** offers superior user experience. The
advantage can be quoted from the [Wikipedia page for convention over
configuration](https://en.wikipedia.org/wiki/Convention_over_configuration):
"decrease the number of decisions that developers need to make, gaining
simplicity, and not necessarily losing flexibility". In GitLab you only have to
specify unconventional aspects of your workflow, the rest will be a smooth
experience. That smooth experience should go from informal chat, to creating an
issue, coding it in an IDE, committing the code, running CI tests, doing a code
review, and deploying in different environments. That doesn't mean we'll never
do a marketplace, in fact this is the way [GitLab.com will be free
forever](https://about.gitlab.com/gitlab-com/#why-gitlab-com-will-be-free-forever).
We admire other convention over configuration tools like [Ruby on
Rails](http://rubyonrails.org/) (that doctrine of which perfectly describe the [value of integrated systems](http://rubyonrails.org/doctrine#integrated-systems), [Ember](http://emberjs.com/), and
[Heroku](https://www.heroku.com/), and strive to offer the same advantages for a
continuous delivery of software.
The open source nature of GitLab ensures that we're well suited to offer an
integrated experience. Everyone can contribute to achieve the [complete feature
set](https://about.gitlab.com/comparison/) that is needed for an integrated
experience. Because GitLab is open source the enhancements can become part of
the codebase instead of being external. This ensures the automated tests for all
functionality are continually run, ensuring that plugins always work. It also
ensures GitLab can continue to evolve with it's plugins instead of being bound
to a plugin API that is hard to change and that resists refactoring. This
ensures we have many years of quality code and great monthly releases ahead of
us.
Loading
Loading
@@ -28,23 +28,15 @@ entity where they are located (e.g. GitLab BV should not contract with contracto
/ employees in the US and vice versa).
If the employee is in the US, GitLab Inc. should be the hiring/contracting entity.
In all other regions GitLab BV should be the hiring / contracting entity.
1. Copy the relevant contract(s) to a Google Doc, and place it in Google Drive, following the structure
{entity} -> {contractors or employees} -> {ZZ In Process of Hiring} -> {folder with name of applicant}.
1. Download the right contract or offer letter template from the "In Process of Hiring" file on the Documents page of [BambooHR](https://gitlab.bamboohr.com)
1. Remember that regardless of the status of the new team member, i.e. contractor or employee for either GitLab Inc., or GitLab BV,
an NDA and IP Agreement (called a PIAA for the Inc. entity) must be included with the contract.
1. Find all fields with curly brackets (` { } `), and edit as appropriate. It is often efficient
to do a find + replace on fields that appear multiple times such as names, email
addresses, etc. (fields are named the same in the contracts / PIAA to make this easier).
1. When removing optional clauses, take care that the paragraph / section numbering still makes sense (especially for the GitLab Inc offer letter).
1. Have the contract reviewed, per the guideline on the [Hiring page](https://about.gitlab.com/handbook/hiring/).
1. Process new contract(s) via HelloSign (also see [how to get legal documents signed](https://about.gitlab.com/handbook/#signing-legal-documents) ).
1. [Process new contract(s) via HelloSign](https://about.gitlab.com/handbook/people-operations/#hellosign) (also see [how to get legal documents signed](https://about.gitlab.com/handbook/#signing-legal-documents) ).
 
 
## GitLab Inc Employee Offer Letter<a name="inc-employee"></a>
Loading
Loading
@@ -896,13 +888,12 @@ notify the manager, and permission is implied unless noted otherwise by the Empl
 
**15\. Non-competition clause**
 
1. Without the prior written permission of the Employer, the Employee is prohibited
during employment and for a period of 24 months following termination of the Employment
Contract to establish, run, have run or jointly run a business that offers source
code management software and services, either directly or indirectly, or to work in any
capacity in such a business, either on a paid or unpaid basis, or to have a share in
it of any nature whatsoever.
1. Employer is a start-up company. If Employee leaves Employer and transfers knowledge, clients or other key information for the start-up company, this could directly damage the financial stability and existence of the Employer. For that reason Employer applies a non-competition clause to this contract.
 
**16\. Business relations clause**
Loading
Loading
@@ -969,6 +960,10 @@ Date:
* {Remove for Contractors not based in NL: 10.6 Contributor will provide GitLab
with a copy of Contributor's valid Declaration of Independent Contractor Status
with respect to income tax (*VAR WUO-verklaring*) and will provide a new declaration after its expiration. }
* {EMPLOYEES:**{Name of Contributor}**, (BSN:{Contributor BSN}), born on {Contributor
DOB}, currently residing at {Contributor Address}, hereinafter referred to as
‘Contributor’; OR CONTRACTORS: **{Name of Contributor}** acting as an independent
contractor located at {Contributor Address}, hereinafter referred to as ‘Contributor’;}
* {in the name of {Contributor Company Name} OR as an independent contractor}
* {EMPLOYEES:**{Name of Contributor}**, (BSN:{Contributor BSN}), born on {Contributor
DOB}, currently residing at {Contributor Address}, hereinafter referred to as
Loading
Loading
@@ -999,6 +994,7 @@ for these purposes by {GitLab Authorized Signatory}, hereinafter referred to as
 
**and**
 
{Name of Contributor} acting {in the name of {Contributor Company Name} OR as an
independent contractor} located at {Contributor Address}, hereinafter referred to as ‘Contributor’;
 
Loading
Loading
@@ -1031,10 +1027,14 @@ GitLab and Contributor are hereinafter collectively referred to as the “Partie
3.3 GitLab will pay Contributor’s invoice within 30 days.
3.4 Contributor’s fee includes a full compensation for any expenses related to the performance of Contributor's activities for GitLab and a full compensation for any damages Contributor may suffer in the performance of Contributor's activities for GitLab.
 
**4\. Replacement**
**4\. Replacement**
4.1 In the event GitLab is obliged to re-do any of the {Single or two word service/project description} due to dissatisfaction, Contributor shall perform the required work/activities. Contributor is not entitled to an additional fee for these activities. Compensation for the unsatisfactory work is included in the fee as stipulated in article 3.
 
**5\. Confidentiality and property**
**5\. Confidentiality and property**
5.1 Parties will agree on Confidentiality a separate agreement appended to this Contractor Agreement. The Confidentiality Agreement is an indissoluble part of this Contractor Agreement.
5.2. In case of termination of this agreement for whatever reason, Contributor is obliged to immediately return all documentation and other property belonging to GitLab which Contributor has in Contributor’s possession together with Contributor's own notes and photocopies.
5.3 Contributor shall not be permitted to retain any property belonging to GitLab to offset any alleged claim against GitLab. Contributor waives any right of retention of property.
Loading
Loading
@@ -1049,7 +1049,9 @@ services, either directly or indirectly , or to work in any capacity in such a
business, either on a paid or unpaid basis, or to have a share in it of any nature
whatsoever.
 
**7\. Business relations**
**7\. Business relations**
7.1 During the term of this Agreement Contributor shall not, without GitLab’s prior
written consent, either directly or indirectly, work for or be involved with any
customers and/or business relations of GitLab, unless on behalf of GitLab.
Loading
Loading
@@ -1062,16 +1064,20 @@ to sever their relationship with GitLab.
 
 
**8\. Penalty**
8.1 For each infringement of the provisions of article 5, 6 and/or 7, Contributor
forfeits to GitLab, without further summons or notice of default being required,
an immediately eligible penalty of EUR 25.000,-, plus an amount of EUR 1.000,- for
each day that the infringement continues, without prejudice of GitLab’s right to
claim compliance and damages.
 
**9\. Intellectual property**
**9\. Intellectual property**
9.1 Parties will agree on Intellectual Property in a separate agreement appended to this Contractor Agreement. The Intellectual Property Agreement is an indissoluble part of this Contractor Agreement.
 
**10\. Character of the Agreement and liability**
**10\. Character of the Agreement and liability**
10.1 Parties explicitly agree that the legal relationship between GitLab and Contributor is a Contractor Agreement (*opdrachtovereenkomst art. 7:400 BW*) and cannot be regarded as an employment agreement (*arbeidsovereenkomst art. 7:610 BW*).
10.2 GitLab excludes any responsibility or liability for any direct or consequential damages or losses of Contributor ensuing from their working relationship or for any other damage.
10.3 In any event GitLab’s liability is and will be limited to an amount equal to the fee to be paid to Contributor for the service the damage relate to.
Loading
Loading
@@ -1079,7 +1085,8 @@ claim compliance and damages.
10.5 In case the Tax Authorities and/or the Social Security Authorities regard the working relationship between the Parties as a (fictive) employment agreement, Contributor shall indemnify GitLab against all tax and social security claims from the aforementioned authorities.
{Remove for Contractors not based in NL: 10.6 Contributor will provide GitLab with a copy of Contributor's valid Declaration of Independent Contractor Status with respect to income tax (*VAR WUO-verklaring*) and will provide a new declaration after its expiration. }
 
**11\. Governing Law**
**11\. Governing Law**
11.1 This Agreement shall be subject to Dutch law only.
11.2 Any dispute in regard to this Agreement and to the implementation thereof shall be settled before a competent court in The Netherlands.
 
Loading
Loading
@@ -1200,7 +1207,7 @@ and
DOB}, currently residing at {Contributor Address}, hereinafter referred to as
‘Contributor’; OR CONTRACTORS: **{Name of Contributor}** acting {in the name of
{Contributor Company Name} OR as an independent
contractor} located at {Contributor Address}, hereinafter referred to as ‘Contributor’;}
contractor} located at {Contributor Address}, hereinafter referred to as ‘Contributor’;}
 
Both parties are hereinafter jointly referred to as ‘the Parties’.
 
Loading
Loading
Loading
Loading
@@ -44,10 +44,10 @@ there and /cc @rspeicher, @jacobvosmaer, @patricio, @ernst, @emily, and @tiffani
* [ ] People Ops: input relevant data (dates, compensation) into the Org Sheet (google sheet).
* [ ] Robert/Jacob/COO: create Google account, firstname@gitlab.com or initial(s)@gitlab.com, email instructions to private email address, comment with private email below this issue, turn off [2FA enforcement](https://admin.google.com/gitlab.com/AdminHome#ServiceSettings/notab=1&service=securitysetting&subtab=org) and schedule reenabling it
* [ ] Robert/Jacob/COO: inform Hiring manager that Google account has been created by mentioning them with a comment in the issue.
* [ ] Hiring manager: send an email to company address 'Please read https://about.gitlab.com/handbook/ and the relevant onboarding pages that are linked from there and let me know if you have any questions.'
* [ ] Robert/Jacob/COO: Create a [new dev.GitLab.org account](https://dev.gitlab.org/admin/users/new) and invite to the [gitlab group](https://dev.gitlab.org/groups/gitlab/group_members) as a developer
* [ ] Robert/Jacob/COO: @mention the new team member in this onboarding issue once their dev.gitlab.org account has been made.
* [ ] Robert/Jacob/COO: Add to [Slack](https://gitlab.slack.com/admin)
* [ ] Hiring manager: send an email to company address 'Please read https://about.gitlab.com/handbook/ and the relevant onboarding pages that are linked from there and let me know if you have any questions.'
* [ ] People Ops: Give team member access to the GitLab availability calendar.
* [ ] People Ops: Invite to team meeting.
* [ ] People Ops: reach out to the new team member to identify and order any necessary supplies/equipment.
Loading
Loading
@@ -147,7 +147,7 @@ Please update this list as more steps arise.
* Become familiar with how GitLab works by learning our [GitLab Basics](http://doc.gitlab.com/ce/gitlab-basics/README.html)
* Read our [Team Handbook](https://about.gitlab.com/handbook/)
* Set-up and familiarize yourself with our apps: [Gmail](https://mail.google.com/), [Google Calendar](https://www.google.com/calendar/), [Slack](https://gitlab.slack.com/messages/general/) and [Google Drive](https://www.google.com/drive/)
* You can [download] (https://tools.google.com/dlpage/drive/index.html?hl=en) Google Drive for your computer to access offline
* You can [download](https://tools.google.com/dlpage/drive/index.html?hl=en) Google Drive for your computer to access offline
* You should have been provided access to our [Internal GitLab Server](https://dev.gitlab.org). Take a moment to familiarize yourself with:
1. The Dashboard
1. The Projects
Loading
Loading
Loading
Loading
@@ -97,7 +97,8 @@ person authorized to make the offer (e.g. CEO) and the applicant.
 
1. Email example: "We would love to have you as part of our team. You will have
a position of [job title]. As a contractor you will invoice [monthly rate] per month.
You will report to the [manager]. We will send you a contract on Monday based on
You will report to the [manager]. We proposed to make you eligible for [number] of stock options.
We will send you a contract on Monday based on
the examples on https://about.gitlab.com/handbook/contracts/. If you have not
received anything on that day please reply-to-all to let us know. Please let us
know if you have any questions or concerns in the meantime."
Loading
Loading
@@ -111,8 +112,13 @@ after which it can be sent out to be signed by any of the relevant C-level team
members. For any hires for which the COO should sign, either the CFO or the CEO must
review the contracts.
1. This person from People Operations makes the contract based on the details found in the Workable
platform, and uses reply-all to gather any missing pieces of information, and to confirm with a reply-to-all when the contract is sent.
1. This same person from People Operations files the signed contract in the appropriate place, and **starts the [onboarding** issue](https://about.gitlab.com/handbook/general-onboarding/).
Note for People Operations: the type of contract required (employee or contractor; BV or Inc) is clarified by the guideline on the
[Contracts page](https://about.gitlab.com/handbook/contracts).
platform, and uses reply-all to gather any missing pieces of information, and to
confirm with a reply-to-all when the contract is sent. Note: the number of proposed stock options
must always be mentioned specifically, even when it is 0. People Ops must follow-up
with the person who requested the contract to make sure that this point is addressed.
1. This same person from People Operations files the signed contract in the appropriate place, and starts the [**onboarding issue**](https://about.gitlab.com/handbook/general-onboarding/).
Note for People Operations:
- the type of contract required (employee or contractor; BV or Inc) is clarified by the guideline on the
[Contracts page](https://about.gitlab.com/handbook/contracts).
- Onboarding info for the PeopleOps system, BambooHR, can be found on the [PeopleOps](about.gitlab.com/handbook/people-operations) page.
Loading
Loading
@@ -151,6 +151,8 @@ For this, we use **asynchronous communication** and are as open as we can be by
and placing an emphasis on ensuring that conclusions of offline conversations are written down.
These communication guidelines are meant to facilitate smooth communication in an
ever-growing remote-first company.
Please keep in mind that you represent GitLab and our culture, also on Social Media.
When commenting on posts please keep in mind: "Don't argue but represent."
 
### Internal Communication<a name="internal-communication"></a>
 
Loading
Loading
@@ -171,7 +173,7 @@ etc.) please include a link to it.
person know that you received it. A thread is done when there is a single word
reply, such as OK, thanks, or done.
1. If you forward an email without other comments please add FYI (for your
information) or FYA (for your action).
information) or FYA (for your action). If you forward an external request with FYA it doesn't mean that the company should do whatever is proposed, it just means the person who forwarded it will not follow up on the request.
1. If you want to create, or be added or removed from an internal email alias (e.g.
`sales@gitlab.com`) please see the [GitLab Email Forwarding doc](https://docs.google.com/document/d/1rrVgD2QVixuAf07roYws7Z8rUF2gJKrrmTE4Z3vtENo/edit#).
1. If you use chat please use a public channel whenever possible, mention the
Loading
Loading
@@ -184,11 +186,16 @@ to the 'call?' request with a video link or say 'yes' and let the other person
start it. Don't say 'yes' and start a call 5 seconds later since it is likely
you'll both be creating a video call link at the same time.
1. All company data should be **shareable** by default. Don't use a local text
file but leave comments on an issue. Create Google docs with your company Google
file but leave comments on an issue. Use merge requests to edit the website, don't use
Google Docs. If you _do_ need a Google Doc, then create the doc with your company Google
Apps account. By default share Google docs with the whole company 'anyone at
GitLab can find and access' with edit (preferred) or comment access for everyone.
An easy way to do this, is to create your Google docs in a Shared Folder in
Google Drive.
1. When referring to a Google Doc in the handbook, refrain from providing the direct link.
Instead, write the name of the Google Doc. In the past, giving the url of a doc
has led to inadvertent opening of sharing settings beyond what was intended, and it also helps
prevent spam from people outside of GitLab who request access to the doc when they see the link.
1. All our procedures and templates are stored in (mostly public) git repositories
instead of Google/Word documents. This makes them easier to find and suggest
changes to with the organization and shows our commitment to open collaboration
Loading
Loading
@@ -271,6 +278,7 @@ step, **re-assign** the issue to that person.
1. We use BlueJeans for the call since Hangouts is capped at 15 people, link is in the calendar invite.
1. If you have previously logged on to Bluejeans with different credentials, make sure to log out before joining the call as yourself.
1. We start on time and will not wait for people.
1. Person who has first item on the agenda starts the call.
1. If you are unable to attend just add your name to the [Team Agenda](https://docs.google.com/document/d/1JiLWsTOm0yprPVIW9W-hM4iUsRxkBt_1bpm3VXV4Muc/edit) as 'Not attending'.
1. We start by discussing the subjects that are on the agenda for today.
* Everyone is free to add subjects. Please start with your name and be sure to link to an issue, merge request or commit if that is relevant.
Loading
Loading
@@ -281,7 +289,7 @@ step, **re-assign** the issue to that person.
* There is no need to excuse yourself with "I didn't do anything interesting", "I just watched television" or "that's all", it is not a competition. Instead share the most interesting detail, for example what television show you watched, book you are reading, video game you played or what recipe you cooked.
1. Sequence of asking people is in order of joining the company, same as on the [team page](https://about.gitlab.com/team/). If there are non-team page people in the call we end with those.
1. Please look if the person you hand over to is present in the participant list so you don't hand over to someone who is not present.
1. Last person hands over to the first person in the call order that is present (normally Dmitriy) who wishes everyone a good day or wishes everyone a great day her or him self.
1. Last person wishes everyone a good day.
1. Even if you cannot join the call, read through the team agenda and the links from there. We often use the team call to make announcements or
discuss changes in processes, so make sure to catch up on the news if you have missed a team call (or more).
 
Loading
Loading
Loading
Loading
@@ -57,7 +57,9 @@ Go to the [Marketing Handbook](/handbook/marketing)
- Timeline => Are they willing to continue communicating about GitLab in the next few weeks? If they have another solution, are they looking to replace in the next few weeks or months?
 
## What counts as an SQL or MQL?<a name="SQL"></a>
* SQL is any lead which has been both: (a) accepted by the sales team which has met the qualification requirements, and (b) converted to a Contact in SFDC and attached to a new Opportunity in SFDC.
* SQL is any lead which has been both:
* accepted by the sales team which has met the qualification requirements, and
* converted to a Contact in SFDC and attached to a new Opportunity in SFDC.
* MQL is any lead with a lead score of 20 or greater in Marketo (lead score is calculated based on behavioral and demographic data).
 
## Lead status<a name="leadStatus"></a>
Loading
Loading
Loading
Loading
@@ -3,7 +3,8 @@ layout: markdown_page
title: "Developer Marketing - Blogging"
---
 
The [blog](/blog) is our main publishing outlet. We publish content multiple times a week. These posts include
The [blog](/blog) is our main publishing outlet. We publish content multiple times a week.
These posts include
 
- Short form articles
- Long form articles
Loading
Loading
@@ -12,7 +13,8 @@ The [blog](/blog) is our main publishing outlet. We publish content multiple tim
- Tutorials
- Inside GitLab
 
We ensure there is a weekly blog post. We also want to bring in voices from all throughout the company, as well as from GitLab users and our clients.
We ensure there is a weekly blog post. We also want to bring in voices from all
throughout the company, as well as from GitLab users and our clients.
 
## The topics we write about
 
Loading
Loading
@@ -37,9 +39,9 @@ Read more about the [Community Writers](https://about.gitlab.com/community/write
 
## Blog post backlog
 
- Anything not assigned to a person is the [backlog](https://dev.gitlab.org/gitlab/blog-posts/issues?milestone_id=&scope=all&sort=created_desc&state=opened&utf8=%E2%9C%93&author_id=&assignee_id=0&milestone_title=&label_name=)
- Anything not assigned to a person is in the [backlog](https://dev.gitlab.org/gitlab/blog-posts/issues?milestone_id=&scope=all&sort=created_desc&state=opened&utf8=%E2%9C%93&author_id=&assignee_id=0&milestone_title=&label_name=)
- Anything that is assigned to a person in 'in progress'
- Anything that has a non-WIP MR is ready for review
- Anything that has a WIP MR is ready for review
 
## <a name="checklist"></a>Blog post publishing checklist
 
Loading
Loading
@@ -47,8 +49,15 @@ Before you write, make sure you're on a new branch cloned from master.
Check these before you publish:
 
- First instance of GitLab should be linked to [GitLab](http://about.gitlab.com)
- Follow the [Blog post style guide](https://gitlab.com/gitlab-com/blog-posts/blob/master/STYLEGUIDE.md)
- Check all links.
- Check the date on the file.
- Check the date on the file name.
- Check the date in the post.
- Check the image is crunched down. Use [tinypng](tinypng.com).
- Check the image is crunched down. Use [tinypng](http://tinypng.com).
- Check the blog appears good locally.
- When you have double checked, you can merge!
It takes about 5 mins for the blog post to appear as published.
After the blog post is published we should tweet immediately from the GitLab
Twitter account, and schedule follow up tweets and LinkedIn and Facebook.
Loading
Loading
@@ -3,17 +3,14 @@ layout: markdown_page
title: "Field Marketing"
---
 
## Field Marketing
## **Field Marketing**
 
Field marketing includes event marketing and swag production.
 
## Events Overview
 
* People and especially the CEO should go shaking hands, even at small events.
* Get GitLab team members out to meet people in the community. People that you meet in person are more likely to become evangelists for you.
* If you go talk at small events you'll see that over time you get into bigger ones.
* People that you meet in person are more likely to become evangelists for you.
* Attend conferences, especially OSCON.
* Get GitLab team members out to meet people in the community.
 
## Events Goals
- Evangelism (brand) - Talk to as many people as we can about GitLab. Our booth presence we must be friendly, knowledgeable, and outgoing.
Loading
Loading
@@ -21,37 +18,62 @@ Field marketing includes event marketing and swag production.
- Hiring (company) - Always be recruiting. See someone doing a great job of evangelism for another product? Ask that person for coffee.
- Partnership (channel) - Organizations adding support for GitLab and/or shipping GitLab with their offering.
- Product Direction - what is the market asking for, in need of and willing to pay for.
- Drive audience to any talks/ events we are having
- Drive audience to any talks/ events we are having.
 
## How We Evaluate Events
- Price/ Budget
- Location- tops cities for developers and can we tag on another event?
- Attendees- who’s attending? Is it the right audience for us? entrepreneurs vs engineers
- Size- go bigger
- Size- try to reach a large audience
- What will our presence be? Who can/ can we go, participate, speak, booth?
- We want to strike a good balance between: community and enterprise events.
 
## Promoting Events
- Email signatures- starting 1 month before event???
- Get attendee list and contact customers and prospects
- BDRS will help set up 20 in person meetings set up before event to occur at event
- Get attendee list and contact customers and prospects.
- BDRS will help set up 20 in person meetings set up before event to occur at event.
## **At Events**
## Emplyee Booth Guidelines
- If you see someone standing alone, talk to them.
- Do not stand around and talk to other GitLab coworkers. Talk to people you don’t know.
- Do not sell; generate interest to learn more. Attendees have a lot of info they are digesting, so get their info and some key info to follow up on.
- Give out swag and one-pagers!
- Don’t be afraid to walk around to other booths and talk to people. Make friends we could partner with, create interesting content with, or just have friendly beers.
- The booth should be clean and organized at all times.
- Document any product feedback you get.
- If press comes ot the event feel free to put themin contact with CEO (Sid) or Marketing (Ashley).
## Networking Tips
- Listen
- Ask questions
- Don't interrupt
- Everyone gets shy sometimes, be the brave one and introduce yourself to new people.
- Feel free to talk about our next release, GitLab [strategy] (https://about.gitlab.com/strategy/), or our [product directtion] (https://about.gitlab.com/direction/#vision).
## Suggested Attire
- Wear at least one branded GitLab piece of clothing.
- If the conference is business casual try some nice jeans (no holes) or pants.
- Clean shoes please.
- A smile.
 
## After and Event
 
- Fill out after event survey- send any relevant feedback on event to marketing event staff.
- was the event valuable?
- would you go again/ should we go again?
- did we get good leads/ contacts?
- best questions asked and conversations
- was our sponsorship/ involvement successful?
- how was the booth set up?
- how was the booth staffing?
- did the booth get enough traffic?
- booth location and size
- how did our swag go over?
- did we have enough/ too much?
- contests?
- Was the event valuable?
- Would you go again/ should we go again?
- Did we get good leads/ contacts?
- Best questions asked and conversations
- Was our sponsorship/ involvement successful?
- How was the booth set up?
- How was the booth staffing?
- Did the booth get enough traffic?
- Booth location and size
- How did our swag go over?
- Did we have enough/ too much?
- Contests?
- Make sure contacts/ leads gathered from event are with marketing and categorized under specific event campaign.
- Follow up with leads from event within 5 business days after event ends.
 
Loading
Loading
@@ -64,26 +86,23 @@ Field marketing includes event marketing and swag production.
 
* We have a meetup-in-a-box package where we arrange for:
 
1. Food (not only pizza, something healthy too)
1. GitLab swag
1. Walkthroughs (demo scripts)
1. Exclusive content (can make new feature presentations exclusive to meetups for a month)
1. Puzzles (pub quiz style, score points and compete with other cities)
1. Video Q&A with service engineers and.or developers
1. AMA's with CEO/CTO
1. Visit in person if we can
1. Organizers become part of the GitLab Club
The first meetups should be run by ourselves.
If someone manages to have 3 to 4 successive meetups it will live on.
Dead meetup cities will be much harder to start up again than new ones.
So do everything to keep it going.
- Food (not only pizza, something healthy too)
- GitLab swag
- Walkthroughs (demo scripts)
- Exclusive content (can make new feature presentations exclusive to meetups for a month)
- Puzzles (pub quiz style, score points and compete with other cities)
- Video Q&A with service engineers and.or developers
- AMA's with CEO/CTO
- Visit in person if we can
- Organizers become part of the GitLab Club (more details to come)
The first meetups should be run by employees. If someone manages to have 3 to 4 successive the meetup itself will live on. It is much harder to start new meetups versus maintaining existing ones. So we should everything to keep existing events going.
 
## Swag
 
* We aim to do swag in a way that doesn't cost us a lot of time to execute => self serve => [web shop](https://gitlab.mybrightsites.com/)
* We aim to do swag in a way that doesn't take a lot of time to execute => self serve => [web shop](https://gitlab.mybrightsites.com/)
* With a webshop you can just give people credit, they can pick what they want and provide shipping info.
* Of course we have [stickers](http://opensource.com/business/15/11/open-source-stickers). Also working on special edition stickers for contributors, GitLab Club members.
* We aim to make our sag delight an or be useful.
* Making limited edition swag for the community to collect.
* Of course we love [stickers](http://opensource.com/business/15/11/open-source-stickers). Also working on special edition stickers for contributors, GitLab Club members.
* We aim to make our swag delight and or be useful.
* We aim to make limited edition swag for the community to collect.
 
Loading
Loading
@@ -3,27 +3,33 @@ layout: markdown_page
title: "Marketing"
---
 
The marketing team is made up of a few key functional groups:
The marketing team is made up of a few key functional groups:
 
## Design
[Designer](/jobs/designer/)
- [Designer](/jobs/designer/)
 
## Demand generation
[Demand generation](/handbook/marketing/demand-generation)
[Online marketing](/jobs/online-marketing-manager/)
[Business development](/jobs/business-development-representative/)
- [Demand generation](/handbook/marketing/demand-generation)
- [Online marketing](/jobs/online-marketing-manager/)
- [Business development](/jobs/business-development-representative/)
 
## Developer Relations
[Technical writing](/jobs/technical-writer/)
[Developer advocacy](/handbook/marketing/developer-relations/developer-advocacy/)
[Field marketing](/handbook/marketing/developer-relations/field-marketing/)
[Developer marketing](/handbook/marketing/developer-relations/developer-marketing/)
- [Technical writing](/jobs/technical-writer/)
- [Developer advocacy](/handbook/marketing/developer-relations/developer-advocacy/)
- [Field marketing](/handbook/marketing/developer-relations/field-marketing/)
- [Developer marketing](/handbook/marketing/developer-relations/developer-marketing/)
 
##Product Marketing
[Product marketing](/jobs/product-marketing-manager)
Partner and channel marketing - coming soon
Communications - coming soon
 
##Marketing resources
- [GitLab Marketing Project](https://gitlab.com/gitlab-com/marketing)
- Google drive folder can be found by searching the company Google Drive for "GitLab Marketing"
- [Product marketing](/jobs/product-marketing-manager)
- Partner and channel marketing - coming soon
- Communications - coming soon
##Marketing resources
- [GitLab Marketing Project](https://gitlab.com/gitlab-com/marketing)
- Google drive folder can be found by searching the company Google Drive for
"GitLab Marketing"
Loading
Loading
@@ -3,18 +3,82 @@ layout: markdown_page
title: "People Operations"
---
 
To reach People Operations, please post an issue on our [internal issue tracker](https://dev.gitlab.org/gitlab/organization/issues/)
and add the 'PeopleOps' label, or send an email to the People Operations group (see the [sheet with aliases](https://docs.google.com/document/d/1rrVgD2QVixuAf07roYws7Z8rUF2gJKrrmTE4Z3vtENo/edit#)), or ping an individual
- [Reaching People Operations](#reach-peopleops)
- [Setting up new contracts](#new-contracts)
- [Using HelloSign](#hellosign)
- [Using BambooHR](#bamboohr)
- [Adding a new team member to BambooHR](#admin-bamboo)
- [Using BambooHR as a new team member](#new-member-bamboo)
- [Administrative details of benefits for US-based employees](#benefits-us)
- [401k](#401k)
- [Using TriNet](#using-trinet)
- [Add new hires to TriNet](#trinet-process)
- [Making changes in TriNet](#changes-trinet)
## Reaching People Operations<a name="reach-peopleops"></a>
To reach People Operations, please post an issue on our [internal issue tracker](https://dev.gitlab.org/gitlab/organization/issues/)
and add the 'PeopleOps' label, or send an email to the People Operations group (see the [sheet with aliases](https://docs.google.com/document/d/1rrVgD2QVixuAf07roYws7Z8rUF2gJKrrmTE4Z3vtENo/edit#)), or ping an individual
member of the People Operations team, as listed on our [Team page](https://about.gitlab.com/team/).
 
## Administrative details of benefits for US-based employees
## Setting up new hiring contracts<a name="new-contracts"></a>
 
### 401k
New team hire contracts are found on the [Contracts](https://about.gitlab.com/handbook/contracts/) page, including instructions on how to set up new contracts.
### Using HelloSign<a name="hellosign"></a>
When we need [contracts to be signed](https://about.gitlab.com/handbook/#signing-legal-documents) we use [HelloSign](https://hellosign.com).
Follow these steps to send out a signature request.
1. Choose who needs to sign. (just me, me & others, or just others)
1. Upload your document that needs signing
1. Enter the names of the people that need to sign
1. With more than one signature required, assign signing order (for contracts or offer letters, always have the GitLab Signatory sign first)
1. Add the People Ops team to the cc
1. Click on "Prepare Docs for signing"
1. Drag & Drop the Signature and Date fields to the corresponding empty spaces in the document (you can select the signee with the pop up screen)
1. Add a title and a message for the recipient. For contract use for example: "Dear [...], You can sign [document type] with HelloSign. Once you've signed you will receive a copy by email. If you have any questions, feel free to reach out"
1. Request Signature.
Once you've sent out the document you will receive email notifications of the progress and a copy of the signed document after all parties have signed.
## Using BambooHR<a name="bamboohr"></a>
We’re using [BambooHR](https://gitlab.bamboohr.com) to keep all team member information
in one place. All team members (all contract types) are in BambooHR.
### Adding a new team member to BambooHR <a name="admin-bamboo"></a>
After People Ops is requested to make a contract or offer letter for a potential hire,
as described on our [Hiring](/handbook/hiring/) page, follow these steps:
1. Download the correct template from the files page on BambooHR
1. Edit the contract or offer letter to include the new hire information.
1. Send out the document to be signed using HelloSign, \cc people ops in this process. (document HelloSign first)
1. Once the document has been signed, create a BambooHR employee file:
1. Go to the BambooHR Dashboard
1. Click on the top right on “Add employee”
1. Enter the following fields: First name, Last name, Gender, Hire date, Employment status, Job information, Pay rate, Salary for employees, or select another option.
1. Turn “self service” on for the employee to enter the following info: Address, Phone, DOB. private email.
1. Save the signed contract under the Documents tab in the folder “0.Signed Contract/Offer Letter”.
### Using BambooHR as a new team member<a name="new-member-bamboo"></a>
Team members can keep their information in BambooHR updated using self-service:
1. Go to the BambooHR link that you should have received by email
1. Change the password to make it secure (see the handbook section on [secure passwords](https://about.gitlab.com/handbook/security/))
1. Login with your new credentials
1. Keep your credentials stored in your 1Password Vault and keep the info in BambooHR updated (e.g. change address when moving)
## Administrative details of benefits for US-based employees <a name="benefits-us"></a>
### 401k<a name="401k"></a>
 
1. You are eligible to participate in GitLab’s 401k as of the 1st of the month after your hire date.
1. You will receive a notification on your homepage in Trinet Passport once eligible,
if you follow the prompts it will take you to the Transamerica website https://www.ta-retirement.com/
or skip logging in to Trinet Passport and go directly to https://www.ta-retirement.com/
1. You will receive a notification on your homepage in Trinet Passport once eligible,
if you follow the prompts it will take you to the Transamerica website https://www.ta-retirement.com/
or skip logging in to Trinet Passport and go directly to https://www.ta-retirement.com/
after the 1st of the month after your hire date.
1. Once on the home page of https://www.ta-retirement.com/ go to "First Time User Register Here".
1. You will be prompted for the following information
Loading
Loading
@@ -22,11 +86,11 @@ after the 1st of the month after your hire date.
1. Social Security Number
1. Date of Birth
1. Zip Code
1. Once inside the portal you may elect your annual/pay-period contributions, and Investments.
1. Once inside the portal you may elect your annual/pay-period contributions, and Investments.
 
## Using TriNet<a name="using-trinet"></a>
 
## Entering New Hires into TriNet<a name="trinet-process"></a>
### Entering New Hires into TriNet<a name="trinet-process"></a>
 
Employer enters the employee data in the HR Passport with the information below
 
Loading
Loading
@@ -89,9 +153,10 @@ Note: if you save the information to finish at a later date, go to the Work Inbo
1. The employee is prompted to log on, complete tax withholding (W4 data), direct deposit information, section 1 of the I-9, and benefits election (if eligible).
1. The employer logs in to HR Passport and is prompted by way of work inbox item, to complete section 2 of the I-9.
 
## GitLab, Inc. Employee Location
### Making changes in TriNet <a name="changes-trinet"></a>
#### Add a New Location
 
### Add a New Location
1. Go to HR Passport homepage
1. Click Find
1. Click Find Location.
Loading
Loading
@@ -100,7 +165,8 @@ Note: if you save the information to finish at a later date, go to the Work Inbo
1. Complete location information. For a remote location, enter the location (ex. WA remote) in all fields except city, state and zip.
1. Click Add.
 
### Transfer Employee to Different Location
#### Transfer Employee to Different Location
1. Go to HR Passport homepage.
1. Click Find.
1. Select find person by Name.
Loading
Loading
@@ -110,6 +176,3 @@ Note: if you save the information to finish at a later date, go to the Work Inbo
1. Select Employee Transfer.
1. Change location and fill in necessary information.
1. Select Update.
## Setting up new hiring contracts
New team hire contracts are found on the [Contracts](https://about.gitlab.com/handbook/contracts/) page, including instructions on how to set up new contracts.
---
layout: markdown_page
title: Common Responses
---
# Common Responses to support questions
\ No newline at end of file
Loading
Loading
@@ -5,10 +5,9 @@ title: Support
 
## Other support pages
 
- [Service Engineer Onboarding](/handbook/support/onboarding/)
- [Service Engineer On-boarding](/handbook/support/onboarding/)
- [PagerDuty](https://about.gitlab.com/handbook/support/pagerduty/)
- [PGP Process](https://about.gitlab.com/handbook/support/pgp_process/)
- [Common responses to problems](/handbook/support/common-responses.html)
- [Support and Development Process](https://about.gitlab.com/handbook/support-and-development-process)
 
## Contents of the page
Loading
Loading
@@ -115,7 +114,7 @@ The iframe below also shows this dashboard, but it requires a valid session for
 
Our [service engineers](/jobs/service-engineer) handle the channels listed below.
They are sorted in order of priority (strictest SLA at top), and as a result, it is possible that channels that appear lower
in this list experience longer delays in receiving responses. We are actively [hiring](https://about.gitlab.com/jobs/)
in this list experience longer delays in receiving responses. We are actively [hiring](/jobs/)
more Service Engineers to strengthen the team and provide support to the community.
 
### Emergency Tickets <a name="emergency"></a>
Loading
Loading
@@ -191,7 +190,7 @@ Please be very patient with these reports. Do not say 'there is no problem', you
might be misunderstanding something that can lead to a 0 day disclosure.
Give examples and keep asking questions until you understand the problem or until
the researcher concludes there is no problem.
If someone invested time to help us, offer to mention them on our [Security Researcher Acknowledgments page](https://about.gitlab.com/vulnerability-acknowledgements/)
If someone invested time to help us, offer to mention them on our [Security Researcher Acknowledgments page](/vulnerability-acknowledgements/)
even if there was no actual vulnerability.
If you say that we'll get back to them **always** mention that they can email us at any time for an update.
This is really important to prevent a 0 day disclosure resulting from us forgetting to respond.
Loading
Loading
@@ -201,7 +200,7 @@ If someone opens a public issue please leave a message:
"Thank you for helping to
make GitLab more secure! We removed the contents of your vulnerability disclosure
to keep it private. We opened an internal issue to look at your disclosure. Can
you please use our [Responsible Disclosure Policy](https://about.gitlab.com/disclosure/)
you please use our [Responsible Disclosure Policy](/disclosure/)
to send us an email that references this url so we can communicate in private?"
 
#### HackerOne
Loading
Loading
@@ -249,7 +248,7 @@ much as possible about the customer's instance as you can.
1. Use of GitLab CI (need to upgrade to 8.0 first, then 8.+)
 
We collect this information in ZenDesk and link it to the organization, see the
[responding to tickets section in onboarding](https://about.gitlab.com/handbook/support/onboarding/).
[responding to tickets section in onboarding](/handbook/support/onboarding).
 
#### Unscheduled calls
 
Loading
Loading
@@ -290,7 +289,7 @@ give updates on the availability of GitLab.com and to follow up on users reporti
### Follow up on issues posted on GitLab issue tracker<a name="issue-tracker"></a>
 
For ZenDesk issues you will have created issues on the relevant issue tracker.
Please refer to the priority as listed under [GitLab Workflow in the handbook](https://about.gitlab.com/handbook/#gitlab-workflow).
Please refer to the priority as listed under [GitLab Workflow in the handbook](/handbook/#gitlab-workflow).
 
### GitLab.com Support Forum<a name="supp-forum"></a>
 
Loading
Loading
@@ -299,7 +298,7 @@ For issues specific to GitLab.com that have nothing to do with availability we h
for new issues and to report back if an issue has been solved. Some people use this forum to report issues they
are having with their on-premises installation. In that case, you should refer them to the
[CE issue tracker](https://gitlab.com/gitlab-org/gitlab-ce/issues) or to our
[Getting Help](https://about.gitlab.com/getting-help/) page, depending on the issue they are having.
[Getting Help](/getting-help/) page, depending on the issue they are having.
 
### Facebook<a name="facebook"></a>
 
Loading
Loading
@@ -337,4 +336,4 @@ Respond to mentions of GitLab on Reddit, especially ones in the [GitLab Reddit](
## Non channel work<a name="other"></a>
 
If you have time for it please improve GitLab: fix bugs, add features, improve documentation, and polish the website.
You can also consider hanging out on IRC to answer questions and help people (#gitlab on freenode.net).
You can also consider hanging out on IRC to answer questions and help people (#gitlab on freenode.net).
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment