Skip to content
Snippets Groups Projects

8.15 release post

Merged 🚄 Job van der Voort 🚀 requested to merge release-8-15 into master
4 unresolved threads

GitLab 8.15 is all about finishing the year with Idea to Production.

For this release post, we want to kick off with an update version of the idea to production video, showing only the part post-installation.

  • intro
  • full video
  • shortened, first part
  • link to video moment in which we use auto-deploy

Later in the post, we will have the full video available.

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Sid Sijbrandij
  • 25 And the hard work shouldn't even include setting up GitLab. [See below]() for
    26 the full video, in which we install GitLab and ship a full app, from idea to
    27 production, in under Y minutes.
    28
    29 This month's Most Valuable Person ([MVP](https://about.gitlab.com/mvp/)) is ***MVP_USER*** ***CONTRIBUTION_OF_MVP_USER***.
    30 Thanks ***MVP_USER_FIRST_NAME***!
    31
    32 <!--more-->
    33
    34 ## Installing GitLab to deploying to Production in Y minutes
    35
    36 < FULL VIDEO>
    37
    38 ## Auto Deploy
    39
    40 > [Documentation link](link)
  • 🚄 Job van der Voort 🚀 marked the task intro as completed

    marked the task intro as completed

  • added 1 commit

    • d734e261 - small fixes and suggestions

    Compare with previous version

  • added 1 commit

    • 42e4a4fa - text on auto deploy and web terminal

    Compare with previous version

  • Web terminal and auto-deploy had a number of prerequisites, some of which may merit a separate mention.

    New CI variables

    via KubernetesService: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/8107

    • $KUBE_URL
    • $KUBE_TOKEN
    • $KUBE_NAMESPACE
    • $KUBE_CA_PEM

    These are all designed to make it easier to deploy to external services.

    Introducing $CI_ENVIRONMENT_NAME and $CI_ENVIRONMENT_SLUG took four database migrations, all of which require downtime, but they should be in the order of a few seconds at most.

    Edited by Nick Thomas
  • @gitlab-com Hey everyone, here's your monthly ping to contribute to the blog post!

    Please include relevant links and format your comment as markdown in a code block so I can easily c/p it!

  • added 1 commit

    • f56ac7b8 - title and bitbucket importer

    Compare with previous version

  • added 1 commit

    • b1134613 - 1 commit from branch master

    Compare with previous version

  • API

    • Allow some Project API GET endpoints to be requested anonymously
    • Allow Repositories & Files API GET endpoints to be requested anonymously
    • Allow some Tag API GET endpoints to be requested anonymously
    • Add scopes for personal access tokens and OAuth tokens
    • Add ability to cherry pick a commit (community contribution)
    • Add ability to unshare a project from a group (community contribution)
    • Add ability to set should_remove_source_branch on merge requests (community contribution)
    • Add simple representation of group's projects (community contribution)
    • Expose committer details for commits (community contribution)
    • Expose merge status for branch API (community contribution)
    • Expose personal snippets as /snippets (community contribution)
    • Expose pipeline coverage

    Platform

    • Add support for Dockerfile templates
    • Allow all alphanumeric characters in file names (community contribution)
    • Don't display prompt to add SSH keys if SSH protocol is disabled (community contribution)

    Other

    • New gitlab:workhorse:install rake task
  • Allow some Project API GET endpoints to be requested anonymously

    Can we say "Allow unauthenticated access to .." instead, for these bullet points? Or am I being too nit-picky? :hear_no_evil:

  • A small performance release this time as a bunch of changes went into 8.14 patch releases, and some of the changes below took quite some time:

    ## Performance Improvements
    
    GitLab CE:
    
    * Retrieving commit counts has been improved for certain cases: ![7668](https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/7668)
    * Polling intervals have been adjusted to reduce system load: ![7762](https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/7762)
    * Refreshing authorized projects is done in a smarter way to reduce database load: ![7956](https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/7956)
    * The most recent commit ID for a path is now cached: ![8098](https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/8098)
    
    GitLab EE:
    
    GitLab EE now ships with a command called `sidekiq-cluster`. This command can be used to start extra Sidekiq workers that process only a limited number of queues. This feature can be used to process queues that receive a lot of jobs, without it affecting other parts of Sidekiq. This was added in ![922](https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/922).
    
    This command is not yet used by Omnibus, our goal is to add this in 8.16.

    Downtime:

    For those not using post-deploy migrations I believe this release will require at least 30 minutes of downtime. Those using post-deployment migrations can probably reduce that down to 10 or-so minutes for large instances.

    Edited by yorickpeterse-staging
  • Import Pull Requests and Comments from Bitbucket https://gitlab.com/gitlab-org/gitlab-ce/issues/19946

    We are always happy when someone wants to migrate their projects to GitLab.
    
    GitLab lets you import projects from major Git hosts: GitHub, Bitbucket, 
    Google Code, Fogbugz or a custom URL. 
    
    Up to this point, importing a project from BitBucket only imported the git 
    repository, as well as the issues. However, GitLab wouldn't import three other 
    important parts of a project: wikis, pull requests and comments.
    
    Starting with 8.15, our Bitbucket importer will now import everything: git data,
    issues, pull requests, comments and wikis. That way,  you will be able to work on 
    your project solely on GitLab.
    Edited by Régis Freyd (GitLab)
  • manual actions on the pipeline graph: image

  • @regisF

    Starting with 8.15, our Bitbucket importer will now import everything: git data, issues, pull requests and comments

    And wiki!

  • @dimitrieh Should the 'stop staging' manual action have 'stop' icon? I'm pretty sure this is how it is implemented.

  • @vsizov thanks for the heads up, I've updated my comment :grinning:

  • Snippets pages now follow the style of Issue and MR pages https://gitlab.com/gitlab-org/gitlab-ce/issues/19990

    Better hover and active states for buttons https://gitlab.com/gitlab-org/gitlab-ce/issues/24145

    @JobV I don't think those are changes that require screenshots, but let me know if you want me to generate some

    Edited by Chris Peressini
  •    Mattermost Notification Service !7764 - https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/7764
  • LDAP group membership overrides in EE! Now it's possible to change one or more LDAP user's roles. For example, if an LDAP group is synced with 'Developer' access but one or two should be group 'Master'. (Reword this to make it sound more exciting!)

    ldap_overrides

  • UX Improvements


    Application lifecycle - Monitoring

    Not released in 8.15 so maybe we don't want to include it in this post but we did start brainstorming ideas for completing the application lifecycle with monitoring. You can view the demo here: https://www.youtube.com/watch?v=NFPGtbQfL1A&feature=youtu.be

    Current issues include:

    Edited by Taurie Davis
  • @filipa can you take a look at https://gitlab.com/gitlab-com/www-gitlab-com/merge_requests/4007#note_20302808 which is a comment on my comment at https://gitlab.com/gitlab-com/www-gitlab-com/merge_requests/4007#note_20302173

    Did you implement the same (play) icon for stopping and starting environments?

    example image

    edit:saw that it worked fine

    Edited by Dimitrie Hoekstra
  • new improved build scrolling and loading icon:

    2016-12-21_00.39.29

  • New direct link from pipelines list into builds https://gitlab.com/gitlab-org/gitlab-ce/issues/19703 graph_animation

  • ## Remove approval from merge request
    
    For projects that have been configured to use merge request approvals, you can now remove your approval from a merge request, after you have approved it. So now if you notice a problem during code review or another reviewer points one out, you can remove your approval that you previously gave. This allows for even more collaboration since you can use both your approval and removal of it to give richer feedback to the author of a merge request. And you can be confident in approving merge requests, without worrying that you are stuck with it if new information arises. Note that you can only remove your own approval that you have already given. (You can't give a negative signal.) Also, once a merge request has the minimum number of approvals required, it is unlocked and ready to be merged (provided all the other necessary conditions are met). This is the same behavior as before.

    @smcgivern @jneen @brycepj @hazelyang

  • @yorickpeterse can you elaborate on the downtime that is required? Link to post-deploy documentation and what exactly is being migrated?

  • @victorwu thanks! Next time, please include line breaks and a screenshot. People love screenshots.

  • added 1 commit

    Compare with previous version

  • @JobV Since my comment we have reduce downtime needs quite a bit by just removing some migrations as they were not strictly needed. What remains are migrations that:

    1. Columns with default values are added, this process may take some time depending on the number of rows in these tables
    2. Some indexes are added concurrently, which does not require downtime but may take some time to complete
    3. Nested groups support (I believe) is added in this release, which requires a bunch of database migrations. Some of these require downtime and can take quite some time to finish
    4. The environments table is cleaned up, and a new column is added with a generated default value (this could take some time depending on the number of environments)

    In total around 15 minutes of downtime should be expected for larger instances.

  • @JobV updated scrolling gif

    2016-12-21_16.06.57

  • @JobV Sorting functionality by name, access level, last joined and so on for both Project and Group members https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/7032 Screen_Shot_2016-12-21_at_21.30.11

  • https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/7660 - Add diff hunks to notification emails

    Image from the MR:

  • Our first Support MVP is Warren Postma for his contributions on the issue trackers, and the community forum and just generally being a great advocate of the product and the company.

  • @JobV there was some refactoring of routing and validation in this release:

    1. Invalid group names that worked before (like name.git) won't work anymore and will be renamed in migration
    2. Project names becomes more restricted. You cant have project with name blob or issues anymore. When visit project with such name you will get 404. I am working on renaming migration for it. Details at https://gitlab.com/gitlab-org/gitlab-ce/issues/25917
    Edited by username-removed-444
  • added 1 commit

    Compare with previous version

  • Between system fonts (gitlab-org/gitlab-ce!7545) and autocomplete improvements (gitlab-org/gitlab-ce!6856), the page size for a given MR in the GitLab CE project went from 1800KB to 718KB! :tada:

    Before:

    Screen_Shot_2016-12-18_at_2.27.42_PM

    After: Screen_Shot_2016-12-21_at_12.23.07_PM

  • Thanks to our community contributor Michael Munch for his unending determination over the last six months to get this merged, with over 200 comments on the original MR and another 100 on the follow-up, we now have LaTeX support in comments! (gitlab-org/gitlab-ce!4638 / gitlab-org/gitlab-ce!8003)

    Screen_Shot_2016-12-21_at_12.38.40_PM

    Thanks also to the Khan Academy team for their open source KaTeX library.

    See the docs for more information on how to use this.

    Edited by username-removed-386624
  • Stan Hu added 1 commit

    added 1 commit

    Compare with previous version

  • We added awesome empty states last release that didn't make it into the post! We are also continuing to add more and more so lets draw attention to them!


    In order to improve our experience for users who are just getting started with GitLab, we're adding informative and fun empty states to many of our pages across the site! View our meta issue to see where we're placing new empty states and watch for new ones in the upcoming releases!

    Screen_Shot_2016-12-21_at_2.00.50_PM

    Edited by Taurie Davis
  • Stan Hu added 2 commits

    added 2 commits

    • aeb608f7 - Remove run-on sentence
    • 781b5881 - Add an upgrade note about the BitBucket importer

    Compare with previous version

  • Stan Hu added 2 commits

    added 2 commits

    • d2f41d60 - Add link to Web terminal documentation
    • d7bb9d57 - Rename BitBucket -> Bitbucket

    Compare with previous version

  • Stan Hu added 2 commits

    added 2 commits

    Compare with previous version

  • added 1 commit

    Compare with previous version

  • @JobV Runner changes:

    ## GitLab Runner
    
    We are also releasing GitLab Runner 1.9 today. Most interesting changes:
    
    - Add a retry mechanism to prevent failed clones in builds [!399](https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/merge_requests/399)
    - Add Kubernete Node Selector [!328](https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/merge_requests/328)
    - Push prebuilt images to dockerhub [!420](https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/merge_requests/420)
    - Add path and share cache settings for S3 cache [!423](https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/merge_requests/423)
    - Split prepare stage to be: prepare, git_clone, restore_cache, download_artifacts [!406](https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/merge_requests/406)
    - Introduce docker.Client timeouts [!411](https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/merge_requests/411)
    - Allow network-sourced variables to specify that they should be files [!413](https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/merge_requests/413)
    - Fix docker hanging for docker-engine 1.12.4 [!415](https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/merge_requests/415)
    - Add pprof HTTP endpoints to metrics server [!398](https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/merge_requests/398)
    - Add a multiple prometheus metrics: [!401](https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/merge_requests/401)
    
    To see the full list of all changes please read [the Runner's CHANGELOG file](https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/blob/v1.9.0/CHANGELOG.md).
  • Stan Hu
    Stan Hu @stanhu started a thread on commit e67c757d
  • 78 90
    79 91 > [Documentation link](link)
    80 92
    81 ## Improved Bitbucket Importer
    93 ## Improved BitBucket Importer
  • added 1 commit

    Compare with previous version

  • added 1 commit

    Compare with previous version

  • added 1 commit

    • 4e06c18e - suggestions and improvements

    Compare with previous version

  • added 2 commits

    Compare with previous version

  • added 1 commit

    • 60734f64 - update a documentation link

    Compare with previous version

  • Nick Thomas
  • @JobV : No features related to merge request approvals / removals will be released in 8.15.

    Please disregard and do not include the earlier release description.

    Details here: https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/954

  • @JobV

    We are also shipping:

    Easy Mattermost configuration

    This allows you with a click of the button create Mattermost Slash Commands integration that make it possible to interact from within your Chat.

    The MR is here: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/8070.

    Screen_Shot_2016-12-22_at_11.00.15Screen_Shot_2016-12-22_at_11.00.33

    @zj Can you link to documentation?

  • Slack Slash Commands

    We are expanding support for Slack allowing you from now on to integrate ChatOps with your Slack instance.

    Screen_Shot_2016-12-22_at_16.22.44

    @zj Can you link documentation?

    Edited by Kamil Trzcińśki
  • added 1 commit

    Compare with previous version

  • added 1 commit

    • 068176e2 - clarify auto deploy capabilities

    Compare with previous version

  • 🚄 Job van der Voort 🚀 marked the task link to video moment in which we use auto-deploy as completed

    marked the task link to video moment in which we use auto-deploy as completed

  • 🚄 Job van der Voort 🚀 marked the task full video as completed

    marked the task full video as completed

  • 🚄 Job van der Voort 🚀 marked the task shortened, first part as completed

    marked the task shortened, first part as completed

  • added 1 commit

    • 631a55f7 - add shadows and remove empty link

    Compare with previous version

  • added 1 commit

    Compare with previous version

  • 🚄 Job van der Voort 🚀 unmarked as a Work In Progress

    unmarked as a Work In Progress

  • mentioned in commit c111c981

  • 75 Working together with your container scheduler, GitLab happily spins up several
    76 (dynamic) environments on request for your projects. Be that for review apps
    77 or a staging or production environment.
    78 Traditionally, getting direct access to these environments has been a little
    79 painful. And that's a shame: it's very useful to quickly try something in a
    80 live environment to debug a problem, or just to experiment.
    81
    82 With the web terminal, this has become extremely easy. Just visit the
    83 environments page in your project and click on the terminal button.
    84 GitLab will SSH into the instance for you and allow you to do anything
    85 you would be able to do from your local instance.
    86
    87 ![Web Terminal in GitLab 8.15](/images/8_15/terminal_gif.gif){: .shadow}
    88
    89 In the demonstration at [5:18](https://youtu.be/m0nYHPue5RU?t=318) we show you
    90 give you a quick peek at the web terminal. We can't wait to see how you'll
  • 54 automatically deploy your application using Docker to your container scheduler.
    55 The cool thing about this is that this immediately leverages Review Apps,
    56 meaning you can see it working before even merging the merge request!
    57
    58 ![Auto deploy in GitLab 8.15](/images/8_15/auto_deploy.png)
    59
    60 This is as close as you can get to one-click deploys, while exposing what
    61 is happening and having all this version-controlled, ready
    62 to collaborate and iterate on.
    63
    64 See [1:42](https://youtu.be/m0nYHPue5RU?t=102) in the video for a quick demo of
    65 Auto Deploy, as it is available in GitLab 8.15.
    66
    67 For this first iteration, we ship Auto Deploy with a template for deploying to an external OpenShift cluster. We use [Herokuish](https://github.com/gliderlabs/herokuish) and Heroku Buildpacks to
    68 package your application into a Docker Image that then is deployed to
    69 Kubernetes on Openshift. We want to add support for more container
  • Ian Baum
    Ian Baum @ibaum started a thread on the diff
  • 377
    378 The current version of PostgreSQL we are packaging (9.2.18) is slowly
    379 approaching its EOL. Due to the [PostgreSQL versioning policy](https://www.postgresql.org/support/versioning/),
    380 upgrades between major releases require downtime and the use of the `pg_upgrade` tool.
    381
    382 For this purpose, we are packaging the newest available PostgreSQL version (9.6.1).
    383 We are also introducing `gitlab-ctl pg-upgrade` tool which should make this
    384 transition as painless as possible.
    385 When upgrading to GitLab 8.14, this *action will not be run automatically*.
    386 This will allow you to plan the database upgrade downtime.
    387
    388 After version 9.0 is released, we plan on setting the PostgreSQL version 9.6 as
    389 default so please make sure that you plan your upgrade before that release.
    390 We're expecting to ship GitLab 9.0 on or after February 22nd.
    391
    392 > [Read more about database upgrade in our docs](https://docs.gitlab.com/omnibus/maintenance/README.html#upgrade-postgresql-database)
    Please register or sign in to reply
    Loading