August 2016 Summaries
15 posts from GitLab
Filter
Month:
Year:
Post Summaries
Back to Blog
GitLab has partnered with Yubico to enhance the security of Git repositories by integrating YubiKeys for two-factor authentication, addressing security concerns associated with Git's distributed nature. YubiKeys offer a more secure alternative to SMS-based two-factor authentication by using the U2F protocol to protect against phishing, replay, and man-in-the-middle attacks. The partnership aims to simplify authentication while encouraging better security practices, such as access control, workflow management, and maintaining an audit trail within GitLab. Additionally, GitLab emphasizes security best practices, including strong password management, enforcing two-factor authentication, and using HTTPS or SSH for accessing repositories. The collaboration also provides resources like webcasts and demos to educate users on securing their Git environments effectively.
Aug 31, 2016
598 words in the original blog post.
GitLab has been working to enhance its planning process by redesigning its existing Milestone Board into a more robust Issue Board feature to better support larger teams and complex projects. The new Issue Board aims to provide a visual overview of issues, incorporate multiple workflow steps, and maintain existing sorting and filtering tools using metadata. Gathering feedback from over 100 participants, GitLab addressed various concerns, such as the flexibility of using labels for lists and the ability to assign multiple list labels to a single issue, which allows for different workflow tracking. Although the initial scope only includes one board per project, GitLab plans to introduce multiple boards per project and group-level boards in future releases. Throughout the development process, GitLab's design, development, and product teams collaborated closely, focusing on creating draggable issue cards, default lists, and search functionality to manage issue backlogs. The Issue Board is intended as a flexible tool adaptable to various workflows, with plans for further enhancements, including cross-project boards and direct issue creation from the board view. GitLab encourages users to provide feedback for ongoing improvements and invites them to join a webcast demonstration of the Issue Board and other features in GitLab 8.11.
Aug 31, 2016
775 words in the original blog post.
Open source practices are increasingly being adopted across various industries due to their ability to enhance collaboration, efficiency, and innovation. As companies become more comfortable with the idea of loosening control, open source emerges as a valuable solution, with 90% of respondents in the 2016 Future of Open Source Survey noting improvements in efficiency and 65% contributing to open source projects. The widespread use of a program encourages feedback and solutions from a larger user base, making open source a logical choice for popular software within large companies or specific sectors. This trend is particularly evident in enterprise infrastructure areas like networking, security, and ERP systems. Furthermore, software closely related to developers is more likely to become open source, as developers can directly address and resolve issues. While some sectors like healthcare are slower to adopt open source, the trend is nonetheless expanding, driven by the potential for collaborative development and a strong reputation among developers.
Aug 29, 2016
511 words in the original blog post.
GitLab embraces a fully remote work culture, allowing employees to work from anywhere, which eliminates commute times and offers personal flexibility. This lifestyle is exemplified by employees Robert and Douwe, who embarked on a global journey titled "Around the World in 6 Releases," meeting GitLab colleagues in 12 countries over six months. Their travels included stops in North America, where they balanced work with local cultural experiences, such as Nashville's vibrant music scene and Denver's developer meetups. The journey also took them to Salt Lake City and Las Vegas, where they attended notable tech conferences and social events like the Queercon pool party. Their adventure is documented in a series of blog posts, with plans to continue exploring South America, sharing insights on the best work-friendly locations worldwide.
Aug 24, 2016
672 words in the original blog post.
GitLab has introduced the Issue Board, a project management tool designed to streamline the planning, organization, and visualization of a team's feature or product release process, seamlessly integrating with GitLab's existing issue tracking functionalities. The Issue Board offers a visual representation of project issues as cards that can be moved across lists or columns, each representing a step in the development process, and is based on the Label system already in place within GitLab, allowing for easy filtering and sorting. This tool aims to reduce the time from idea conception to production by optimizing release management through better prioritization, planning, and communication within large teams, as highlighted by expert insights from the International Journal of Computer Applications. GitLab's development philosophy embraces modern practices like continuous delivery and deployment, moving away from traditional methodologies, and the Issue Board is a step towards integrating the ten stages of the modern development lifecycle directly into GitLab. With features like automated label updates and the ability to create unlimited lists for different workflow stages, the Issue Board enhances visibility and collaboration within teams, ensuring everyone is informed of the progress of each issue.
Aug 22, 2016
1,086 words in the original blog post.
Brian's story outlines how he uses GitLab webhooks and a simple webrick server to automate the application of labels to merge requests (MRs) in his projects, enhancing his workflow efficiency. By leveraging GitLab's API and a server process managed by runit, he streamlines the labeling process by automatically applying a 'Needs Review' label to newly opened MRs and using commit messages to determine and apply Semver tags such as #patch, #minor, or #major. This setup requires threading the server to handle incoming webhooks without timing out, ensuring smooth operation within GitLab's default timeout of 10 seconds. This approach builds on his previous work with GitLab Labels, providing a more automated and focused method for managing merge requests, and acknowledges contributions from his colleague Cameron McAvoy in refining the label processing feature.
Aug 19, 2016
595 words in the original blog post.
Harnessing the capabilities of GitLab Pages and specific iOS apps, users can update static-site generator (SSG)-powered blogs directly from their iOS devices without needing a computer. The tutorial outlines the process using a Hugo-based site, Working Copy for Git operations, and Editorial for text editing. By creating a new branch, drafting posts, and managing files and images, users can commit and push changes to GitLab, where GitLab CI automates deployment. While this mobile workflow offers flexibility and convenience, it presents challenges such as the inability to preview sites locally on iOS devices and potential discomfort with screen size for longer posts. Despite these limitations, the method provides a valuable solution for those who prefer or need to work on the go, supported by GitLab's infrastructure and additional resources.
Aug 19, 2016
1,745 words in the original blog post.
GitLab Labels have proven to be an effective tool for organizing workflows and directing focus in managing infrastructure as code, as illustrated by a customer story. The story details the challenges faced in infrastructure management, such as the risk of major disruptions from small changes and the need for controlled deployment processes. By using GitLab Enterprise's label feature, the team adopted 11 specific labels, each with a clear meaning to streamline merge requests (MRs) and categorize them based on their status or requirements, such as "Blocked," "Needs Review," and "Ready to Deploy." This system allows team members to quickly identify which MRs need attention, reducing the need to individually review each MR's comments and improving overall efficiency in handling code changes.
Aug 17, 2016
663 words in the original blog post.
Microservices architecture is an approach to designing software applications as smaller, independent, cloud-based services rather than as a single monolithic entity, exemplified by companies like Netflix, Uber, and Amazon. This architecture offers several benefits, including improved system-wide stability, faster deployment, team scalability, and the flexibility to use diverse technologies suited to each service's needs. However, it also presents challenges such as increased latency, the complexity of distributed systems, the need for multi-step rollouts, and heightened infrastructure complexity. GitLab aims to streamline microservices management by providing integrated tools for CI/CD, issue tracking, and project management, reducing the need for external integrations. Microservices are particularly beneficial for larger teams that face coordination challenges, typically when the team size exceeds 25 backend developers.
Aug 16, 2016
708 words in the original blog post.
GitLab's transition from an Operations mindset to an Infrastructure mindset involves a strategic shift in addressing performance and scaling challenges by emphasizing proactive infrastructure development over reactive problem-solving. The team at GitLab focused on building infrastructure with a development perspective, integrating developers and system engineers into a unified process to enhance product performance. This shift involved pattern recognition using graphs, aligning resources effectively, and automating repetitive tasks to improve efficiency. The cultural change encouraged collaboration between development and production teams, enabling them to anticipate challenges and develop simple solutions to complex problems. A notable success involved improving SSH Git access times through a series of experiments, such as optimizing API access and adjusting memory settings, which resulted in significant performance enhancements. The team utilized a variety of tools like Chef, Prometheus, and Grafana to monitor and analyze system behavior, allowing for continuous improvement and better infrastructure planning. The approach fosters a cycle of hypothesis testing, experimentation, and learning, which is integral to GitLab's philosophy of building a better product.
Aug 12, 2016
1,579 words in the original blog post.
GitLab's company culture, which emphasizes consistency, productivity, collaboration, opinionation, and transparency, plays a crucial role in attracting loyal fans and contributors, as evidenced by their presence on the Hacker News front page and the positive feedback from users. The organization releases new versions consistently, values productivity by solving real problems, encourages collaboration through an open public issue tracker, and takes clear stances on issues like remote work. Transparency is a core principle, with GitLab striving to make most communications public, despite the challenges of balancing openness with the needs of a commercial entity. This post invites others to share what works for their companies and suggests that these principles can serve as learnings for other organizations aiming to foster a positive and engaging culture.
Aug 12, 2016
845 words in the original blog post.
Alexander Malaev, a software developer, shares insights into using Phoenix/Elixir for backend development and Ruby on Rails for frontend services, describing a complex microservices architecture utilizing Elixir/Erlang. This system employs Docker containers managed via Docker-compose for production. GitLab CI is utilized to automate testing, style checks, and release processes, configured through a .gitlab-ci.yml file, with stages for building, testing, styling, releasing, and cleanup. Variables and services such as PostgreSQL and Kafka are integrated for the build and test phases, and the release process involves creating a release image pushed to the GitLab Container Registry. Challenges include a lack of automated testing for release startups and finding solutions for intercommunication between services using REST APIs instead of native Erlang messaging. Future plans involve publishing more articles to address pipeline implementation challenges and solutions.
Aug 11, 2016
849 words in the original blog post.
GitLab's issue tracker is an integral part of its workflow, allowing teams to manage projects comprehensively, even those without code, by setting due dates for individual issues and creating milestones. Introduced in GitLab 8.7, the ability to assign due dates to issues has enhanced project management by providing teams with clear deadlines, which is particularly useful when multiple teams collaborate on different aspects of a project. Milestones, serving as markers in a project's timeline, can combine various tasks across projects, enabling teams to track progress and ensure all tasks align with overarching project goals. This system is utilized by GitLab's internal teams, such as Development and Marketing, to coordinate timely releases and feature launches, allowing for efficient planning and execution. With these features, teams can improve visibility, manage workloads effectively, and anticipate project completions, while GitLab's roadmap and feedback channels offer insights into future developments.
Aug 05, 2016
757 words in the original blog post.
GitLab provides a comprehensive platform that integrates Continuous Integration (CI), Continuous Delivery (CD), and Continuous Deployment (CDP) within a single interface, allowing developers to move seamlessly from idea to production. The platform supports automated testing, building, and deployment, enabling rapid and reliable software development with minimal human intervention. Users can choose between manual deployment, for strategic control, and full automation for efficiency. With GitLab, developers can manage the entire development pipeline—from creating issues to merging code and deploying to production—without needing additional tools. GitLab's built-in features, such as GitLab CI and Container Registry, offer flexibility and integration to streamline the development process, and its continuous updates ensure the platform evolves with modern software practices.
Aug 05, 2016
1,106 words in the original blog post.
Fabio Akita, a Brazilian Rubyist, shares his experience of migrating from GitHub to GitLab, highlighting the advantages of GitLab's open-source approach, cost-effectiveness, and feature set. Akita notes that while GitHub has been the dominant platform for hosting open-source projects, GitLab offers a compelling alternative with its Community Edition and Enterprise Edition, both designed to cater to the needs of various organizations. He points out that GitLab's integration of a fully functional Continuous Integration system, the GitLab Multi Runner, provides a cost-efficient solution compared to using separate CI services like Travis-CI. Akita provides a detailed comparison of the costs associated with GitHub and GitLab, demonstrating significant savings, particularly for teams with a large number of developers. He emphasizes the ease of installation and migration to GitLab, as well as the platform's ability to handle large-scale projects efficiently. Despite some initial setup challenges, Akita asserts that GitLab's familiar interface, robust functionality, and potential for customization make it a strong contender for organizations seeking to optimize their development workflows and reduce expenses.
Aug 04, 2016
4,491 words in the original blog post.