October 2018 Summaries
25 posts from GitLab
Filter
Month:
Year:
Post Summaries
Back to Blog
Modern software products often consist of multiple components and microservices, necessitating the use of multi-project pipelines to manage interactions between different repositories. GitLab 9.3 introduced these pipelines, allowing users to trigger external pipelines from a job using the $CI_JOB_TOKEN variable and the Pipeline Trigger API, without needing additional authentication. This token is limited in scope and is destroyed after the job ends to prevent misuse. Users can easily view related pipelines through the pipeline graph or mini-graph in the Merge Request Widget, which shows upstream and downstream connections. Multi-project pipelines are beneficial for automating tasks like testing changes across connected components or triggering downstream pipelines for software packaging and release. An example application demonstrates how a Maven package and a command-line app interact via multi-project pipelines to maintain updates. GitLab aims to further develop these features based on user feedback to enhance automation and integration across large applications.
Oct 31, 2018
721 words in the original blog post.
The GitLab engineering team faces challenges in managing technical debt and cross-vertical issues due to its semi-siloed structure, where teams are focused on specific product areas without a clear point of responsibility for overarching tasks. This problem was highlighted in a recent discussion about prioritizing such issues, which lack a dedicated team after the dissolution of the former Platform team. Interviews with DevOps engineers reveal widespread frustration with reactive work and a lack of coordination between teams, which is exacerbated by the absence of a designated owner for technical debt-related tasks. A study of cross-functional teams suggests that creating a Portfolio Governance Team (PGT) with an end-to-end accountable leader could mitigate these issues. GitLab is considering establishing a dedicated team to handle cross-vertical tasks, though there is also a call for Product Managers and Engineering Managers to better align their priorities to address these challenges effectively.
Oct 30, 2018
753 words in the original blog post.
GitLab's development journey began with co-founder Dmitriy Zaporozhets choosing Ruby on Rails as the framework, despite his background in PHP, inspired by GitHub's success with Rails. GitLab CEO Sid Sijbrandij supports this choice, citing Rails' robust ecosystem and structured approach as key factors in managing GitLab's complex functionality. While acknowledging challenges such as performance issues, GitLab has addressed them by incorporating Go to enhance load times and reduce memory usage, leading to the creation of the Gitaly service for Git requests. The opinionated nature of Rails aligns with GitLab's mission of inclusivity, simplifying onboarding for new developers by maintaining consistent coding practices. The adherence to Rails' conventions has resulted in a stable and scalable codebase, allowing GitLab to flourish while embracing "boring solutions" to facilitate further development.
Oct 29, 2018
831 words in the original blog post.
In 2022, the interview process for Product Designers was revamped to ensure fairness and efficiency, focusing on consistent questions for all candidates across different stages. The process, notably simpler and more efficient than before, comprises four interview stages totaling around 2-3 hours, emphasizing candidates' foundational understanding of UX design, passion, attention to detail, and empathy for users rather than relying on trick questions or extended sessions. The interviews prioritize how candidates articulate their thoughts, their confidence, and their ability to view design from a user's perspective, valuing passion and commitment to the design profession over formal education or extensive experience in non-challenging environments. This approach aims to identify well-rounded individuals with a genuine interest in improving people's lives through design, encouraging candidates to demonstrate their enthusiasm and initiative during interviews.
Oct 25, 2018
1,082 words in the original blog post.
The blog post provides a comprehensive guide on setting up GitLab CI/CD for an Android app, using the open-source Materialistic project as a case study. It explains the process of creating a .gitlab-ci.yml configuration file to automate the building and testing of the app, highlighting the benefits of continuous integration in preventing issues like broken builds. The guide assumes familiarity with Android app development, local testing, and the GitLab interface. It details the setup of a Docker environment, necessary variables, and package installations, along with the configuration of stages for building and testing the app. The post emphasizes the ease of transition from other CI solutions like Travis CI to GitLab and illustrates the steps to set up unit tests, which are crucial for catching regressions. Additionally, it outlines how to access build artifacts post-completion, aiming to enhance app stability and ensure successful compilation and testing.
Oct 24, 2018
1,604 words in the original blog post.
The upcoming quarterly Hackathon, scheduled for November 14-15, aims to foster collaboration among community members in a virtual setting, focusing on working on merge requests (MRs) and assisting new contributors. Participants can look forward to prizes, such as GitLab slippers for those with MRs merged within 10 days and a GitLab skateboard for the individual with the most MRs merged. In addition to coding activities, the event will feature expert-led presentations and Q&A sessions on topics like contributing to GitLab and issue triage, with recordings available on GitLab's YouTube channel. Communications throughout the Hackathon will take place on the GitLab Community room in Gitter, a space for community discussions and support. For those new to contributing, the "Contributing to GitLab" page offers guidance on how to get involved in various areas, including code, documentation, translation, and UX design.
Oct 23, 2018
346 words in the original blog post.
GitLab's all-remote work model emphasizes flexibility, allowing employees to work from anywhere, which can enhance work-life balance and improve job satisfaction. The company argues that remote work can reduce costs by eliminating the need for physical office space and allows for a diverse talent pool by hiring globally rather than locally. However, this model also presents challenges, such as potential isolation, which GitLab addresses through structured social interactions like daily coffee chats and regular company-wide events. Despite investor concerns about executive team cohesion and potential devaluation in case of acquisition, GitLab remains committed to its remote-first approach, believing it aligns with the growing demand for flexible work arrangements. The company showcases its strategies and tools in a comprehensive handbook, inviting contributions to further refine its remote work culture.
Oct 18, 2018
1,193 words in the original blog post.
A GitLab team member, after noticing clutter in the company's investor updates, proposed a new format to CEO Sid Sijbrandij, who accepted the challenge. The revised update is structured into seven sections: thanks, asks, key metrics, lowlights, highlights, expectations, and a CEO foreword. This organization aims to enhance comprehension and speed of reading for investors, ensuring that they receive all necessary information about the company's monthly performance. GitLab maintains a commitment to transparency by consistently highlighting three positives and three negatives each month, fostering trust and open communication. Regular investor updates are emphasized as crucial for instilling confidence and maintaining strong relationships with investors, as well as informing team members who hold stock options. The format has been well-received by investors and even caught the attention of Y Combinator for its excellence in shareholder communication, which is said to elevate the company's stature.
Oct 17, 2018
1,080 words in the original blog post.
GitHub's introduction of GitHub Actions, a continuous integration tool, marks its entry into competition with existing marketplace vendors like Travis CI and CircleCI, reflecting a broader industry shift towards all-in-one solutions in response to the complexity of modern software development. This move parallels strategies seen in other industries, such as Amazon's private brands, as GitHub aims to streamline the development process by consolidating tools into a single, integrated platform. The transition from disparate toolchains to unified applications is driven by the increasing demands of fast-paced software delivery, where interconnected toolchains become cumbersome. Companies like GitLab have already embraced this all-in-one model, offering a comprehensive DevOps platform that enhances collaboration and reduces cycle times, paving the way for improved efficiency and visibility across development teams. This trend underscores a significant shift towards integrated solutions that facilitate seamless collaboration, reduce context switching, and provide real-time updates within a single application, fostering a more agile approach to software development.
Oct 16, 2018
574 words in the original blog post.
All Day DevOps is a prominent and entirely free virtual conference that stands out for its comprehensive global accessibility, allowing participants from any location to engage in a 24-hour learning experience on October 17. It provides a valuable opportunity to absorb insights from over 100 sessions led by industry experts, with interactive Q&A sessions facilitated via Slack. Unlike many other conferences, it maintains a strict policy against vendor pitches, focusing instead on pure knowledge sharing. This year's event will feature five tracks: CI/CD, DevSecOps, Cloud Native Infrastructure, SRE, and Cultural Transformations, with notable speakers such as Cindy Healy, David Rensin, George Swan, and Priyanka Sharma. For fully remote companies like the author's, the virtual format is essential, enabling team members across 40 countries to equally benefit and participate in this collaborative learning environment.
Oct 16, 2018
299 words in the original blog post.
GitLab's adoption of the stable counterparts model has fostered cross-functional connections by consistently pairing the same team members, such as frontend engineers, UX designers, and test automation engineers, for each release to enhance communication, trust, and iterative development. This model builds long-term relationships, allowing team members to better understand workflows and communication styles, which is crucial for effective collaboration, especially in high-pressure situations. While the stable counterparts approach accelerates workflows and promotes creative brainstorming by providing domain experts who can be quickly consulted, it also poses potential challenges, such as personality conflicts and the risk of becoming stagnant without fresh ideas. To mitigate these issues, leadership focuses on balancing product features with complex tasks and ensuring team dynamics are conducive to collaboration. GitLab's experience suggests that while this model has benefited their workflow, its success depends on the organization's strategy, targets, and maturity, indicating that continuous experimentation and adaptation are necessary to align with evolving needs.
Oct 16, 2018
1,093 words in the original blog post.
GitLab is enhancing its security practices by discontinuing support for the outdated Transport Layer Security (TLS) 1.0 and 1.1 protocols on GitLab.com and its API by December 15, 2018, due to their vulnerabilities and non-compliance with security standards like PCI DSS 3.1. This transition aims to strengthen cryptographic standards and mitigate potential operational disruptions for GitLab customers, as most traffic already uses TLS 1.2. Updates on the deprecation process will be communicated through blog posts, Twitter updates, and security alert emails to users. Users of specific software, such as older versions of Git-Credential-Manager-for-Windows, Git on certain Red Hat releases, JDK versions less than 8, and outdated Visual Studio, are advised to upgrade to ensure compatibility with TLS 1.2.
Oct 15, 2018
541 words in the original blog post.
GitLab has integrated personas into its design process, building on previous discussions about their significance and creation through UX research, to enhance product design and user empathy. The initiative includes updates such as using gender-neutral names, job descriptions, and the "Jobs-to-be-done" framework to make personas more inclusive and informative. These changes aim to offer a realistic representation of user needs, helping teams understand their target audience and facilitating cross-departmental communication. Recent research findings offer insights into roles like Product Manager, Development Team Lead, DevOps Engineer, Software Developer, Systems Administrator, and Security Analyst, with further details available in GitLab's handbook. Future posts will explore the findings, limitations, and opportunities associated with each persona.
Oct 12, 2018
281 words in the original blog post.
CERN, the European Organization for Nuclear Research, has adopted GitLab as a solution to manage the complexities of coordinating thousands of projects with numerous global contributors, particularly focusing on the challenges of code review and collaboration. Approximately three years ago, CERN chose GitLab due to its open core, self-managed model, aligning with CERN's advocacy for open source software and data sovereignty. Today, more than 12,000 CERN users utilize GitLab, running 120,000 CI jobs monthly, enabling efficient operations, code collaboration, and project management. Alex Lossent, Version Control Systems Service Manager at CERN, highlights that GitLab allows handling of more complex projects and improves efficiency, while Lukas Heinrich, a partner physicist, notes the benefits of GitLab's on-premise nature for accessing CERN's services and data storage. GitLab's implementation has enhanced CERN's ability to connect researchers globally, facilitating communication and collaboration in their extensive data analysis and development processes.
Oct 12, 2018
417 words in the original blog post.
Reducing cycle times in development teams is crucial for ensuring rapid innovation and maintaining user engagement, as highlighted by various engineering leads who share their experiences at GitLab. The average cycle time for top-performing teams is around two days, while many teams face challenges that extend this period, such as the need for thorough testing and dependency on cross-team collaboration. Solutions to these challenges include automating manual tasks, breaking work into smaller, manageable pieces, and employing feature flags to streamline development processes. Differentiating between essential and non-essential processes is critical, as unnecessary steps can hinder progress, while effective asynchronous communication and collaboration across time zones also play significant roles in cycle time management. Strategies such as creating focused milestones, developing training programs, and using consistent project management tools can aid in reducing cycle times. Ultimately, fostering a culture of experimentation, retrospectives, and thoughtful risk management is vital for achieving faster delivery without compromising performance and stability.
Oct 12, 2018
1,770 words in the original blog post.
GitLab.com has experienced significant improvements in stability and performance since migrating from Azure to Google Cloud Platform (GCP). The migration led to a notable increase in availability, reducing average weekly downtime from 32 minutes to 13 minutes, representing a 61% improvement. This was achieved through a combination of infrastructure upgrades, such as a more powerful Gitaly fleet and enhanced IO performance, as well as strategic process changes, including better abuse detection, concurrency controls, and the elimination of NFS for Git access. Additionally, the migration provided an opportunity to streamline operations and reduce technical debt, with enhancements in structured logging and incident management processes. The GitLab team has expanded and reorganized, allowing for a focus on both immediate and long-term improvements, which have contributed to faster response times and reduced latency. The overall enhancements have positioned GitLab.com for better reliability and scalability, with ongoing efforts to further increase availability and performance.
Oct 11, 2018
2,285 words in the original blog post.
The first GitLab Hackathon, held at the end of September, successfully fostered community engagement by encouraging participants, including many newcomers, to submit over 20 Merge Requests (MRs), with 15 being merged within ten days. Participants not only contributed code but also attended tutorial sessions covering diverse topics such as GitLab Development Kit, documentation, and UX design, which are available on the Hackathon wiki page. The event also helped identify several issues and bugs for future follow-up. Plans are in place to hold quarterly Hackathons, with the next one scheduled for November 14-15. Contributors whose MRs were merged received GitLab merchandise as a token of appreciation, with George Tsiolis recognized as the standout contributor for merging seven MRs. The GitLab community is encouraged to provide feedback and suggest topics for future events via the GitLab Community room on Gitter, while resources for getting started with contributions can be found on the Contributing to GitLab page.
Oct 09, 2018
397 words in the original blog post.
Jacob Schatz, a Staff Engineer at Meltano, provides an update on the company's efforts to improve its platform, focusing on user personas and enhancing user experience through both command-line and graphical interfaces. Through user interviews, Meltano identified two main user groups: those with in-house engineering resources and those without, aiming to simplify the integration of extractors and loaders for both. They are committed to creating a seamless experience by developing a CLI that supports a wide range of functionalities, including PII removal, and by collaborating with GitLab UX for better user engagement. The team is also encouraging community contributions, particularly in frontend development, and has initiated a "dogfooding" approach to improve problem-solving by embedding engineers from different teams to experience user challenges firsthand. This initiative aims to foster a deeper understanding of user pain points and improve the overall Meltano product through direct feedback and collaborative problem resolution.
Oct 08, 2018
752 words in the original blog post.
Cloud native refers to the approach of building and running applications that leverage the advantages of cloud computing, requiring them to be both developed and operated within cloud environments. This methodology is characterized by the use of containers, service meshes, microservices, immutable infrastructure, and declarative APIs, which collectively create resilient, scalable, and manageable systems. Organizations like the Cloud Native Computing Foundation (CNCF) support this approach by promoting the use of open-source technologies for modern, dynamic cloud environments. Containers serve as a lightweight way to package applications, while orchestrators like Kubernetes manage their deployment, ensuring efficiency and scalability. Microservices further enhance the development process by breaking applications into smaller, independently manageable parts, allowing for faster deployment and innovation. While public cloud platforms such as AWS facilitate the deployment of cloud native applications, private or hybrid solutions may be necessary for handling sensitive data or meeting specific regulatory requirements. The development process often benefits from a DevOps approach to streamline the integration of various tools, with platforms like GitLab offering solutions to simplify the transition to cloud native environments through integrated registries and Kubernetes support.
Oct 08, 2018
646 words in the original blog post.
GitLab's collaboration with STEM Gems aims to inspire girls to pursue careers in STEM by providing them with role models and mentors, highlighting the low participation of women in STEM fields as reported by the US Department of Commerce in 2017. Through events like the summit in South Africa, GitLab fosters a culture of inclusion by sharing personal stories and professional insights from its diverse team, emphasizing the importance of role models in encouraging girls to explore opportunities outside traditional roles. These events and partnerships offer visibility into the challenges women face in STEM, while also providing a platform for women at GitLab to share their career journeys and advice for aspiring young women interested in tech. Participants from various roles within GitLab, including payroll, test automation, sales development, billing, talent operations, and UX research, share their unique paths and accomplishments, underscoring the diverse opportunities within the tech industry and the importance of diversity and inclusion. This initiative reflects GitLab's commitment to building a supportive community where everyone can thrive and encourages girls to set ambitious goals and pursue their dreams in the STEM fields.
Oct 08, 2018
2,726 words in the original blog post.
GitLab has revised its process for resetting two-factor authentication (2FA) without relying on government-issued IDs to address the limitations and risks associated with the previous method. The new approach, developed collaboratively by GitLab's Support and Security teams, involves a two-step process. Firstly, it assesses the risk level by classifying the data a user could access if their 2FA is reset; this classification is peer-reviewed for accuracy. Secondly, it presents a series of authentication challenges tailored to the user's account, scored based on the account's classification, requiring users to demonstrate knowledge specific to their account. This method aims to provide a more secure and reliable means of identity verification, moving away from the single-factor government ID verification. The updated process is part of an ongoing effort to enhance user account security, with input from security audits and continuous iteration on the authentication challenges.
Oct 08, 2018
640 words in the original blog post.
After over two and a half years as a frontend engineer at GitLab, the author leveraged opportunities for departmental transfers to pursue a passion for design and user experience (UX), drawing from a background in art and photography. Initially focused on redesigns, the author sought to shape GitLab's aesthetic and began collaborating with the UX team, gaining skills in tools like Sketch and participating in UX meetings. Transitioning to the Plan team, which deals with idea prioritization and resource allocation, the author applies frontend engineering skills, such as attention to detail, to UX challenges. Balancing responsibilities, the author splits time between styling frontend tasks and UX projects, emphasizing the supportive environment at GitLab and encouraging others to discuss career aspirations with their managers. Despite personal challenges, such as parenting, the author expresses satisfaction with the transition and highlights GitLab's hiring opportunities.
Oct 05, 2018
491 words in the original blog post.
Luke Picciau, a full stack web developer and student at the University of South Australia, shares his journey of contributing to GitLab, which began in July 2018 with a merge request for a feature enhancement. Having used GitLab extensively since 2014, he found it easy to navigate the code and quickly start adding features, particularly interested in improving the new Web IDE. Luke's professional skills are centered around Rails and VueJS, and he is also developing an open-source fitness tracking website. Residing in Adelaide, South Australia, he appreciates the proximity to national parks and mountain bike trails. In his free time, he contributes to open source projects like Open Street Map and enjoys mountain biking. He advises prospective GitLab contributors to use an IDE with "go to definition" support for navigating large codebases, and suggests creating merge requests to seek assistance when needed. For those interested in contributing to GitLab, he recommends starting with the Contributing to GitLab page.
Oct 04, 2018
575 words in the original blog post.
A developer describes an effective workflow for simultaneously managing two Git branches using both a local development environment and the GitLab Web IDE. This approach allows them to conduct development work on one branch while documenting the process on another, avoiding the delay of merging development work until documentation is complete. By creating separate merge requests for development and documentation, they ensure that each component can be reviewed and iterated upon individually. The developer uses multiple editors, including Atom for local changes and the Web IDE for real-time documentation, to maintain accuracy and reproducibility. The article encourages readers to share their own experiences with the Web IDE and hints at future enhancements for DevOps tools.
Oct 03, 2018
327 words in the original blog post.
GitLab's recent Series D funding announcement highlighted its strategic focus on enhancing the depth of existing features and expanding new capabilities across the DevOps lifecycle, aiming to transition from "minimum viable change" to "minimum lovable feature." The company plans to broaden its product scope to include roles such as executives, designers, and product managers, promoting collaboration within a single product featuring nine best-in-class categories. Among the 26 new capabilities in development, GitLab is working on Value Stream Management to streamline workflow tracking, Incident Management to integrate operations and development data for efficient response, and Auto Remediation to automate security patch updates. These initiatives reflect GitLab's commitment to facilitating concurrent work across various stakeholders while continuously seeking user feedback to refine its offerings.
Oct 01, 2018
940 words in the original blog post.