Posts

Showing posts with the label CI

Three amigios | CI - CD - Test Automation

Image
Architecting for CI/CD - DZone DevOps Learn how companies must change their software architecture to fully take advantage of continuous integration and delivery and implement effective DevOps.

Continuous Integration: Patterns and Anti-Patterns

Interesting short read on:  Continuous Integration  Patterns and Anti-Patterns  Build Management  Build Practices  Build Configuration  Testing and Code Quality

eBook - Continuous Delivery and Automation

Here is a really good free eBook - DevOps: Continuous Delivery and Automation DevOps has emerged to be the “new normal” in software development, helping companies react to user feedback real-time and setting higher standards for rapid development. Since becoming a permanent topic of discussion, thought leaders, developers, and businesses have pushed to adopt the necessary DevOps tools and methodologies. In the DZone Guide to DevOps: Continuous Delivery & Automation, we explore the state of DevOps in 2017 including industry challenges, best practices, and solutions. Dive into the best mental model for implementing microservices, implementing unambiguous code requirements, best practices for microservices and containers, and Continuous Delivery anti-patterns. Card

Continuous Deployment via GitLab, Jenkins, Docker and Slack

Now that's what you would want to be your tech stack! This is a good post to read and implement: Continuous Deployment via GitLab, Jenkins, Docker and Slack

POM.xml explained

Image
POM stands for project object model.  The  pom.xml  file is the core of a project's configuration in Maven.  It is a single configuration file that contains the majority of information required to build a project in just the way you want.  It contains default values for most projects. When executing a task or goal, Maven looks for the POM in the current directory. It reads the POM, gets the needed configuration information, then executes the goal. Super POM -  The Super POM is Maven's default POM. All POMs extend the Super POM unless explicitly set, meaning the configuration specified in the Super POM is inherited by the POMs you created for your projects The minimum requirement for a POM are the following: project root modelVersion - should be set to 4.0.0 groupId - the id of the project's group. artifactId - the id of the artifact (project) version - the version of the artifact under the specified group packaging - Every Maven project h...

Adding existing folders to GitHub - Windows

Image
Download and Install something like Git Bash Create a new repository on GitHub.                                                                                      Note:   To avoid errors, do not initialize the new repository with README, license, or gitignore files.  Open Git Bash and navigate to the parent directory of your folders Initialize the local directory as a Git repository. git init Add the files in your new local repository. This stages them for the first commit. git add . Commit the files that you've staged in your local repository. git commit -m "your message" At the top of your GitHub repository's Quick Setup page, click to copy the remote repository URL. In the Command prompt, add the URL for the remote repository where your lo...

POM file Maven Dependency Injection - CheatSheet

Image
When you depend on a plugin or a dependency, you can use the a version value of LATEST or RELEASE . LATEST refers to the latest released or snapshot version of a particular artifact, the most recently deployed artifact in a particular repository.  RELEASE refers to the last non-snapshot release in the repository. A square bracket ( [ & ] ) means "closed" (inclusive).  A parenthesis ( ( & ) ) means "open" (exclusive). Best Practice: In general, it is not a best practice to design software which depends on a non-specific version of an artifact. If you are developing software, you might want to use RELEASE or LATEST as a convenience so that you don't have to update version numbers when a new release of a third-party library is released. When you release software, you should always make sure that your project depends on specific versions to reduce the chances of your build or your project being affected by a software release not under your cont...

LeanFT = QTP/UFT + Continuous Integration + Agile + Opensource in the HP world

Image
Can you believe that HP has come up with this new tool/plugins that they call LeanFT, obviously the name suggests that it's the lean way of doing functional testing. Let's see what they claim: Key Highlights and what's good: Automation in Java or C# - definitely something that most automation folks were looking forward to Compatible with UFT's object Identification engine- hmm :) Continuous Integration - Has integration with Jenkins  Supports BDD tools like Cucumber/Jbehave Integration with SCM tools like Git/SVN IDE would be your standard Eclipse / TFS Same reporting as before but with all of the above Unit testing frameworks like JUnit/ Nunit Integration with other HP tools -  HP Application Lifecycle Management, HP Quality Center, and HP Mobile Center. Interesting fun facts: QTP's Object spy from Visual studio/Eclipse Free license if you already have the UFT 12.5 license customized html reports Release Date: July 2015 along with  UFT ...

Setup github within a company's firewall

Image
If you have installed gitbash or windows git setup and are getting the 443 or 407 errors everytime you clone you are on the right post: Steps to solve the issue: You will need to update the git config with proxy settings To do this find your proxy and port using this post here :  http://superuser.com/questions/346372/how-do-i-know-what-proxy-server-im-using Alternatively you can also look at the proxy settings/LAN settings to find this http://wpad.[domain]/wpad.dat  Paste http://wpad.[domain]/wpad.dat in the browser and you will have a text file in which you can find the proxy:port for all domains used by your company In your gitbash run this command : git config --global http.proxy http[s]://userName:password@proxyaddress:port git config --global http.sslverify false If you get this error - could not resolve proxy some@proxyaddress:port. It's your password having an @ symbol in it. Encode @ in your password to %40 because git splits the proxy se...

GitLab for storing the test automation code within the firewall

Image
GitLab is an open source clone of the popular GitHub service. The best possible thing is to have your own private GitLab installation running locally on your server or network, or even on your local machine in a VM. Unlike GitHub or BitBucket, you host the GitLab installation yourself on servers you control. The best part is that it is free under the MIT license. What's bad with self hosting? Unlike GitHub, or even a version of GitLab hosted on a normal server, your local GitLab installation will only be accessible to you and this defeats the point of having a version control system with powerful collaboration features like merge requests, but for individuals who just want project and source code management, this will be a powerful solution. How to Install? The omnibus package - https://about.gitlab.com/installation/  Reason -    Omnibus GitLab takes just 2 minutes to install and is packaged in the popular deb and rpm formats.

Continuous Integration Toolset

Image
Source:  https://reg.maestrodev.com/maestro/ Source:  https://marciosaito.files.wordpress.com/2013/11/

Visualise Continuous Integration / Delivery in pictures

Image
Source:  https://markosrendell.wordpress.com/2014/03/03/practical-benefits-of-continuous-delivery/ Source:  http://stackify.com/continuous-delivery-for-winners-with-a-feedback-loop/ Source:  https://guidelines.axonivy.com/attachments/download/776/overview.png Source:  http://blog.octo.com/en/continuous-delivery-how-do-we-deliver-in-3-clicks-to-7000-machines/