Home / Companies / Semaphore / Blog / July 2019

July 2019 Summaries

3 posts from Semaphore

Filter
Month: Year:
Post Summaries Back to Blog
Semaphore has introduced a new feature that allows users to run and visualize complex CI/CD pipelines using block dependencies, enhancing its previous support for sequential pipelines. This advancement is based on directed acyclic graph (DAG) theory, enabling users to define pipeline elements' dependencies with a single line of code, offering flexibility for various use cases like mobile app testing across platforms and building Docker containers. The new feature supports patterns such as sequential pipelines, parallel pipelines, fan-in, fan-out, and diamond dependencies, allowing for efficient execution and resource utilization. Users are encouraged to model their application’s logical dependencies within the CI/CD pipeline on Semaphore, aiming for quick feedback by parallelizing tasks. The announcement invites users to explore and share examples of complex workflows, with further resources and discussions available on Semaphore's documentation and Discord channel.
Jul 22, 2019 509 words in the original blog post.
Tim, Director of Engineering at Resolve to Save Lives, is leading the development of the Simple mobile app, an open-source project aimed at improving cardiovascular health by tracking and managing patients' blood pressure to prevent heart disease. The app, designed to be lightweight and user-friendly, allows healthcare workers to record patient data on Android devices, even in offline settings, with a focus on scalability and ease of use for busy medical professionals. Currently operating with nearly 100,000 registered patients in India, the project emphasizes user research and quick deployment cycles, supported by a Rails backend and automated testing. Tim, who has transitioned from roles at major companies like Google and AOL to more community-focused initiatives, underscores the importance of creating software that addresses human problems and advocates for ethical responsibility in software engineering. He highlights the challenges of continuous delivery in mobile app development, particularly regarding testing across diverse devices and meeting app store requirements, while also expressing appreciation for open-source projects like Let's Encrypt and the Ruby on Rails community.
Jul 18, 2019 1,424 words in the original blog post.
Kubernetes deployments offer a nuanced approach to managing applications in production environments, emphasizing the importance of understanding its declarative nature and the roles of various components like pods, replica sets, and deployments. Unlike Docker, where commands are executed imperatively, Kubernetes requires users to describe the desired state, which it then reconciles with the current state. This setup allows for sophisticated deployment strategies, such as rolling updates, blue/green deployments, and canary releases, ensuring minimal downtime and higher availability. Replica sets facilitate scaling by maintaining a specified number of pods, while deployments manage these replica sets to accommodate updates and rollbacks, providing a robust framework for continuous integration and delivery. Readiness probes and deployment strategies such as MaxSurge and MaxUnavailable further enhance the reliability of updates, allowing for smooth transitions between application versions. By leveraging these features, developers and operations teams can achieve safer, more frequent deployments, ultimately enhancing application availability and reducing time-to-market for new features and fixes.
Jul 16, 2019 4,033 words in the original blog post.