January 2018 Summaries
6 posts from GitLab
Filter
Month:
Year:
Post Summaries
Back to Blog
GitLab's journey from an open-source project to a leading software development solutions provider is marked by strategic decisions and key partnerships. CEO Sid Sijbrandij highlights the initial decision to form a company around the open-source project to maintain quality, hiring co-founder Dmitriy Zaporozhets, and focusing on the self-managed market rather than SaaS, which set GitLab apart from competitors like GitHub. The pivotal moment came with their acceptance into Y Combinator, which raised their ambitions and connected them with influential investors. GitLab's success is also attributed to its unique approach to remote work, with a comprehensive handbook supporting its 200 employees globally. The company has focused on large customers' needs, offering more granular authorization levels than competitors, and aims to position itself as an end-to-end tool, enabling parallel work without the delays of traditional toolchains. Sijbrandij emphasizes the importance of strategic vision building through customer interaction and market trend analysis, while acknowledging the ongoing challenge of refining GitLab's market positioning.
Jan 26, 2018
1,463 words in the original blog post.
Gitaly, a Git RPC service being implemented across GitLab.com to replace the legacy NFS-based file-sharing system, encountered unexpected performance issues during its rollout, despite initial promising latency improvements. After deploying a new release, latency dropped significantly without any apparent optimization, but this was followed by a pattern of increasing latency and eventual server lockups, suggesting a deeper issue. Investigations using profiling tools and metrics indicated that the problem stemmed from the Gitaly service's use of the syscall.ForkLock, which led to contention and lockups. This contention was exacerbated by the increasing virtual memory size of the Gitaly process, causing fork operations to take longer over time. The breakthrough came with the realization that switching from fork to posix_spawn, a change included in the new Go 1.9 release, could alleviate these issues. After recompiling Gitaly with Go 1.9, the team observed dramatic improvements in CPU usage and latency, resolving the performance problems and highlighting the importance of robust application monitoring and profiling tools in diagnosing complex system issues.
Jan 23, 2018
1,428 words in the original blog post.
GitLab CI/CD is an essential tool for continuous integration at fleetster, offering a powerful system that facilitates seamless collaboration between developers, designers, and QA personnel. The process begins when developers commit and push code changes to GitLab, which triggers a series of automated tasks executed by a runner as defined in the .gitlab-ci.yml file. These tasks are organized into pipelines comprising multiple stages, where each stage must successfully complete before proceeding to the next. Designers and testers can access and test build artifacts or deployed environments directly through the GitLab interface, providing valuable feedback during the merge request process. This integration allows for efficient communication and rapid iteration, enhancing the overall development workflow. Additionally, fleetster leverages GitLab CI/CD for automated versioning and deployment, underscoring its versatility and continuous evolution with new features introduced regularly.
Jan 22, 2018
1,222 words in the original blog post.
Steve Ropa, a Co-founder and Master Craftsman at the Rocky Mountain Programmers Guild, discusses the essential role of continuous integration (CI) in modern software development, emphasizing that daily builds alone do not suffice. He argues that true continuous integration requires frequent feedback loops, automated unit and acceptance testing, and immediate response to build failures, rather than simply compiling code. Ropa highlights the importance of using modern CI tools effectively, such as those provided by platforms like GitLab, which allow for integration and automated testing with every code check-in. He stresses that ignoring failed tests undermines the CI process and advocates for a proactive approach where developers stop to address any issues immediately to maintain a technologically safe environment. Ropa's insights aim to elevate software development practices by encouraging teams to leverage the full potential of CI tools, ultimately fostering excellence in software craftsmanship.
Jan 17, 2018
922 words in the original blog post.
In a conversation between Zapier's Mike Knoop, Noah Manger, and GitLab's CEO Sid Sijbrandij, they discussed strategies for managing communication as companies grow, highlighting GitLab's approach to balancing information generation and consumption. GitLab addresses communication challenges through structured functional group updates, which are short presentations by team leads that occur on a rotating schedule, allowing employees to stay informed about different departments. These updates are recorded and accessible, providing flexibility for employees to choose between video and written content based on preference. GitLab emphasizes transparency by making information available through a comprehensive handbook and uses its own tools to facilitate project tracking and open communication. The company also tackles onboarding challenges with a detailed checklist and encourages cross-team interaction through unconference-style summits. While GitLab leverages Slack for urgent communication, it remains mindful of avoiding information overload, ensuring that employees can engage with content in a way that suits their individual needs and interests.
Jan 08, 2018
2,552 words in the original blog post.
GitLab 10.3 introduced a feature called Merge Request Commit Discussions, which benefits teams that work at the individual commit level by enabling them to add comments directly to commits within a merge request, rather than only to a particular version of the request. Available in both GitLab Community and Enterprise Editions, this feature allows users to start specific discussions related to each commit, enhancing collaboration and granularity in the approval process. The interface navigates users to the "Changes" tab to view the diff associated with a specific commit, facilitating inline commenting that initiates separate discussions per commit. These discussions are accessible from the "Commits" or "Discussions" tabs, with the option to resolve them, where resolved discussions are collapsed by default. The team anticipates that this granular approach will be beneficial for teams and encourages feedback through the release blog post or by opening an issue.
Jan 04, 2018
238 words in the original blog post.