Home / Companies / Semaphore / Blog / October 2014

October 2014 Summaries

6 posts from Semaphore

Filter
Month: Year:
Post Summaries Back to Blog
Semaphore experienced significant issues following a planned platform update, leading to build and deployment delays due to unexpected build failures and decreased performance. The problems were primarily caused by the migration to a new OS version, Ubuntu 14.04, and changes in system libraries, affecting dependencies like the mysql2 gem. This necessitated a tool to clear dependency caches, which was promptly implemented. Additionally, the infrastructure faced a memory leak issue related to Java services, initially thought to be due to a switch to Oracle JVM, prompting a reversion back to OpenJDK. However, the true cause was a memory limiter on LXC containers, which was eventually reverted, resolving the build queue delays. Despite thorough pre-release testing, Semaphore acknowledged the challenges of replicating real-world scenarios and plans to enhance infrastructure testing by running parallel jobs with new platform versions to mitigate future disruptions.
Oct 31, 2014 633 words in the original blog post.
The recent platform update, v1410.1, introduces several changes, including the addition of Ruby 2.1.4 as a recommended security release for all projects using version 2.1, and a downgrade of Qt to version 4.8.1 to address the Errno::EPIPE: Broken pipe error encountered by users of capybara-webkit. Additionally, OpenJDK has been updated to version 1.7 update 71, and Cassandra has been upgraded to version 2.1.1. Users can view the complete list of changes in the platform changelog and are invited to join the discussion on Discord.
Oct 31, 2014 86 words in the original blog post.
Chris Kottom, a Ruby and Rails developer, introduces a behavior-driven development (BDD) workflow using Minitest, an alternative to RSpec and Cucumber, for creating test-driven applications in Ruby on Rails. The blog post details the setup of a testing stack with Minitest, Capybara, and supporting gems to create a simple Rails application for managing a to-do list. Kottom walks through implementing the red-green-refactor cycle, demonstrating how to write tests that fail initially due to missing components, then guiding the development to pass these tests by incrementally building the application features. The article highlights Minitest's flexibility with both assert-style and spec-style syntax, advocating for the latter due to its similarity to RSpec's approach, and emphasizes using tests as a feedback mechanism in the development process.
Oct 27, 2014 1,411 words in the original blog post.
The platform update set for October 23, 2014, includes several software version updates and new additions based on user requests. Key updates feature JRuby 1.7.16, PHP versions 5.4.33, 5.5.17, and 5.6.1, Git 2.1.1, and Firefox 33, with a requirement for projects using the selenium-webdriver gem to update it. New additions to the platform include Elixir 1.0.1, Erlang 17.3, Cassandra 2.10, Maven 3.0.5, Oracle Java SE Development Kit 8, PostGIS 2.1.4, RethinkDB 1.15.1, and Scala 2.11.2. Users can test the update by selecting version 1410 in Project Settings, and feedback is encouraged, with further details accessible in the platform changelog and discussions available on Discord.
Oct 15, 2014 164 words in the original blog post.
Semaphore has announced the extension of its continuous integration and deployment service to support Bitbucket repositories, allowing users to automatically test and set up continuous delivery pipelines from Bitbucket Git repositories to servers or cloud providers like Heroku and AWS. The service is free for open source projects and allows up to 100 private builds monthly. Setting up continuous integration for a Bitbucket project on Semaphore is straightforward, involving authorization of Semaphore to access Bitbucket repositories, selecting the repository and branch, and attaching it to the Semaphore account. Users must either be the creator of a repository or part of an admin group to add it. Once set up, Semaphore analyzes the source code, generates build commands based on the programming language, and enables users to launch their first build.
Oct 14, 2014 325 words in the original blog post.
Hubot, GitHub's chat bot, can be utilized to perform deployments on Semaphore, as demonstrated by Ben Straub from Gridium, who integrated a Hubot script to trigger deployments directly from a Slack chat room. This setup allows teams to enhance their workflow by making deployment processes more transparent and reducing the onboarding time for new team members. Hubot, which can be deployed on various platforms like Heroku, easily integrates with popular chat services such as Slack and Campfire. To enable the deployment feature, users must clone the hubot-semaphore-deploy repository, add the script following Hubot's Readme instructions, and export the Semaphore API auth token in Hubot's production environment. The integration of Hubot with Semaphore not only streamlines continuous integration and delivery but also fosters collaboration and awareness among team members, with the project now incorporating Semaphore status updates thanks to a collaboration between Ben Straub and the author of hubot-semaphoreapp.
Oct 06, 2014 355 words in the original blog post.