Home / Companies / Octopus Deploy / Blog / August 2020

August 2020 Summaries

16 posts from Octopus Deploy

Filter
Month: Year:
Post Summaries Back to Blog
Jim Burger discusses the security priorities and efforts of Octopus Cloud, emphasizing the importance of trust between the company and its customers regarding data safety. Octopus Cloud has implemented various security measures, including a robust RBAC system, support for multiple authentication providers, and strong auditing features, alongside regular penetration testing and a focus on GDPR compliance. Despite these efforts, Burger acknowledges the limitations of relying solely on trust and outlines plans to achieve ISO 27001 compliance to provide verifiable security assurance. This certification process aims to enhance their security posture by offering a structured approach to risk management and demonstrating their commitment to continuous security improvements. Burger invites customer feedback on their security priorities to further align Octopus Cloud's practices with customer expectations.
Aug 31, 2020 625 words in the original blog post.
Michael Levan's blog post from August 26, 2020, emphasizes the importance of testing in scripting and automation, particularly through the use of Pester, a popular testing framework for PowerShell. The post details the process of installing Pester and provides a step-by-step guide to creating and running tests using this framework, highlighting the significance of practices like unit testing and test-driven development. Levan illustrates how to create a simple PowerShell function and test it with Pester in Visual Studio Code, explaining key concepts such as Describe, Context, and It blocks within Pester tests. The article concludes with a reminder of the changing nature of code over time and the risks associated with untested code, encouraging readers to integrate testing into their development workflow.
Aug 26, 2020 1,177 words in the original blog post.
Michael Levan's blog post from August 25, 2020, offers a guide on using the AWS CLI within Octopus Deploy to automate the creation of an S3 bucket in AWS. The post highlights the benefits of using Command Line Interfaces (CLI), such as maintaining consistency across different systems and avoiding the need for API wrappers. It details the prerequisites required, including having an Octopus Deploy server, an AWS account, and experience with the AWS CLI. The article walks through the steps of setting up a new project in Octopus Deploy using the Octopus CLI, configuring project variables, and adding an AWS CLI step to execute the required commands. By following these instructions, users can efficiently deploy and manage AWS resources through a programmatic approach, ultimately simplifying complex tasks.
Aug 25, 2020 811 words in the original blog post.
In a detailed guide by Michael Levan, the process of integrating Octopus Deploy with Amazon Web Services (AWS) is explored, focusing on simplifying cloud connectivity for continuous delivery and deployment. The article outlines the necessary prerequisites, such as having an AWS account and an Octopus Deploy server, and provides a step-by-step walkthrough on creating an Identity and Access Management (IAM) user in AWS to authenticate Octopus Deploy. Two methods for creating an IAM user are discussed: using the AWS UI for a more clicking-intensive approach and employing the AWS CLI for a streamlined, code-based process. Once the IAM user is set up and equipped with appropriate permissions, the guide explains how to input the AWS access key and secret key into the Octopus Deploy Web Portal to establish a successful connection. This ensures seamless programmatic interaction between Octopus Deploy and AWS, essential for efficient cloud-based deployments.
Aug 24, 2020 833 words in the original blog post.
Connecting Docker Hub to Octopus Deploy can be straightforward, but for those opting out of using a public Docker registry, alternatives like JFrog Artifactory or Sonatype Nexus are viable options. While the open-source version of Nexus includes comprehensive operational features, the paid version offers additional benefits like High Availability and advanced authentication. To create a Docker registry in Nexus, users need to navigate through the Server Administration tab to set up a docker (hosted) repository, noting that a specific port assignment, such as 8443, is necessary for tagging images. Once the registry is set up, connecting it to Octopus Deploy involves creating an external feed in the Octopus Deploy library, specifying the feed type, name, and URL while leaving the registry path blank and entering credentials if required. This process, although unique in its handling of Docker registries compared to other repository types, allows for successful integration and deployment.
Aug 18, 2020 528 words in the original blog post.
Shawn Sesna's article provides a detailed guide on integrating Red Hat OpenShift with Octopus Deploy, highlighting the steps involved in deploying to OpenShift, a Kubernetes (K8s) management platform. The author contrasts OpenShift with Rancher, emphasizing their differences while noting the substantial system requirements for OpenShift, which necessitates multiple master and worker nodes. For the demonstration, Sesna uses the stripped-down version of OpenShift, CodeReady Containers (CRC), due to resource constraints. The guide covers downloading CRC, setting up virtual switches in Windows Hyper-V, and dealing with DNS server adjustments made by CRC. It explains the dual Perspectives in OpenShift—Administrator and Developer—and outlines the processes of creating projects, service accounts, and role bindings. The article describes using the command-line tool, oc.exe, for role assignment and accessing the cluster URL, which is crucial for connecting to Octopus Deploy. The author also details the authentication process, Kubernetes cluster addition, and deployment to OpenShift while addressing configuration adjustments, such as handling external IPs in YAML files.
Aug 17, 2020 1,229 words in the original blog post.
Matthew Casperson's blog post delves into the flexibility and capabilities of using custom scripts in Octopus for Kubernetes deployments. It highlights the utility of writing scripts against kubectl through Octopus to leverage custom scripting tools and advanced Kubernetes properties. The post explains how to create reusable scripts by setting the KUBECONFIG environment variable, thus directing kubectl commands to specific Kubernetes targets. It emphasizes the benefits of referencing Docker images as additional packages in Octopus, allowing dynamic image version selection during deployment. The article also addresses the integration challenges posed by numerous platforms and tools, introducing the concept of Worker tool Docker images that encapsulate common open-source tools, enabling deployment processes to run in containerized environments. By configuring networking settings for Docker and Kubernetes clusters, the blog further demonstrates the practical application of Octopus in managing complex deployments. Overall, it underscores the extensive scripting capabilities provided by Octopus, supported by a rich set of variables and a comprehensive collection of Kubernetes and Docker tools.
Aug 12, 2020 1,392 words in the original blog post.
Helm has become the go-to package manager for Kubernetes, offering features like rich templates, a powerful CLI, and centralized chart repositories, with Helm 3 addressing previous security concerns. Octopus Deploy supports deploying Helm charts to Kubernetes clusters, allowing users to manage deployments effectively. In this guide, Matthew Casperson illustrates using a sample Docker image to create a Helm chart, which is then packaged and uploaded to a built-in feed in Octopus, simplifying the deployment process. This approach eliminates the need for separate chart repositories, though Octopus still supports external repositories for accessing a range of third-party Kubernetes services. Deploying Helm charts with Octopus is streamlined, making it easier to manage both internal and external applications within Kubernetes environments.
Aug 12, 2020 477 words in the original blog post.
Matthew Casperson's blog post discusses the process of migrating existing Kubernetes YAML resource definitions into Octopus Deploy using the new features introduced in Octopus 2020.2. This integration allows users to import, export, and edit raw YAML while managing Kubernetes resources in an opinionated manner through the Octopus platform. The article provides a step-by-step guide on how to use the Deploy Kubernetes containers step to define both deployment and service resources, simplifying the management process by abstracting some of the underlying linking mechanics. The Edit YAML feature enables users to input their existing YAML, which Octopus then populates into its system, allowing for easy export of the modified YAML with additional default labels linking resources together. Despite its utility, the step only imports recognized YAML values, and unrecognized values can be handled using the Deploy raw Kubernetes YAML step, offering flexibility for users who might outgrow the opinionated step.
Aug 11, 2020 1,000 words in the original blog post.
Matthew Casperson's blog post from August 10, 2020, details the process of deploying a Docker container to a local Kubernetes cluster using Octopus, following a previous guide on creating a test cluster with Kind. The post outlines the steps to create, build, and push a Docker image to Docker Hub, and then configure Docker Hub as a feed in Octopus for Kubernetes deployment. Octopus facilitates the deployment of containers by integrating Kubernetes resources like services, ingresses, and configmaps, allowing users to select image versions at deploy time, which simplifies the process of updating deployments. The post emphasizes the benefits of using Octopus for Kubernetes deployments, such as repeatable and audited deployments, CI/CD readiness, and the ability to perform tasks without local Kubernetes expertise. It also highlights the advantages of automating Kubernetes management tasks to embed institutional knowledge into Octopus, making it easier for non-expert teams to operate and support the Kubernetes infrastructure.
Aug 10, 2020 1,582 words in the original blog post.
Matthew Casperson's blog post from August 10, 2020, explores the process of setting up a local Kubernetes cluster using Kind, a tool that creates Kubernetes clusters as Docker containers, and explains its compatibility with major operating systems and WSL2. The post guides users through the installation of necessary components like Docker, kubectl, and the Kind executable, and provides instructions on creating a cluster with the command "kind create cluster," which updates the Kubernetes configuration file. It details how to extract certificates from this configuration file into files that can be imported into Octopus, using Bash and PowerShell scripts, to facilitate secure API traffic and user identification. Casperson further explains the creation of a Kubernetes target in Octopus, utilizing these certificates for authentication and server certificate authority, and discusses the necessity of a Worker on the local PC for Octopus to access the local Kubernetes cluster. The blog concludes by mentioning additional resources for deploying Kubernetes resources through Octopus.
Aug 10, 2020 934 words in the original blog post.
Lianne Crocker discusses the process of transitioning a runbook to use execution containers instead of running steps directly on a worker machine. This change allows for minimal software installation on the worker machine, with software versions being maintained in Docker images used as execution containers. The project, PetClinic Infrastructure, which utilizes Google Cloud Platform, requires updating bootstrapping scripts to install Docker on new GCP virtual machines. Crocker details creating a Docker image that includes the Google SDK and PowerShell, which is published on Docker Hub. The runbook to be converted, "Destroy the GCP Kraken," involves refactoring steps to extract the destruction of the worker machine into a separate runbook, "Destroy Ubuntu worker." This process includes setting up Docker images for different tasks, such as managing DNS records with Azure CLI, and adjusting scripts for authentication and execution within containers. The conversion to execution containers simplifies updates across projects by allowing changes to be managed through Docker image versions, though caution is advised against using the 'latest' image version to maintain control over changes.
Aug 05, 2020 1,620 words in the original blog post.
Cloud platforms have revolutionized workflows for developers and operations by allowing temporary infrastructure for testing, eliminating the need for local virtual machines and enabling scalable testing. The blog post by Matthew Casperson details creating Windows and Linux EC2 instances using CloudFormation templates within their own Virtual Private Cloud (VPC), emphasizing the importance of network configurations such as Internet gateways, security groups, and route tables, which have become best practice requirements. It includes examples of CloudFormation templates for both Windows and Linux, highlighting the differences in security group rules and user data scripts while ensuring the EC2 instances maintain a static IP through elastic IPs. By utilizing VPCs, users can access newer instance types and create isolated environments where multiple VMs can communicate with each other. The templates serve as a self-service tool to deploy VMs in AWS, supporting newer instance types that are not compatible with the EC2-Classic environment, allowing enhanced communication and isolation among VMs.
Aug 04, 2020 2,440 words in the original blog post.
In the blog post, Matthew Casperson explains how to configure user data scripts within AWS CloudFormation templates to automatically install and register Tentacles as either targets or Workers in Octopus Deploy. The process involves using the Octopus DSC module and requires specific parameters such as API keys, server URLs, roles, environments, and spaces. The guide provides detailed instructions on setting up these configurations, including the installation of necessary software like .NET 4.8 via Chocolatey due to compatibility issues. Casperson also highlights the need to save the DSC configuration in a separate PowerShell script to avoid parsing errors during execution. The post concludes that, despite some initial setup intricacies, leveraging user data scripts and Octopus DSC can streamline the deployment of new VMs with pre-configured Tentacles, thus enhancing the automation and efficiency of infrastructure management in DevOps environments.
Aug 04, 2020 2,304 words in the original blog post.
Octopus Deploy has transitioned its hosted solution to a V2 infrastructure using Linux containers within Kubernetes, facilitating a scalable and cost-effective platform. The company has introduced early access to its Octopus Server Linux Docker image, enabling Linux users to deploy Octopus on their preferred systems. This setup utilizes Docker Compose to easily configure Microsoft SQL Server and Octopus, and it requires the privileged flag for Docker-in-Docker functionality, which supports execution containers for Workers. The primary aim of running Octopus on Linux is to enable deployment in Kubernetes clusters, offering high availability (HA) with support for scaling server instances. The deployment process involves setting up persistent volumes, load balancers, and stateful sets to manage application nodes and maintain database integrity during updates. Though currently part of an Early Access Program, the Linux Docker images and Kubernetes resources are not recommended for production use yet, but they offer a promising approach for streamlined deployments and encourage user feedback for improvement.
Aug 03, 2020 2,856 words in the original blog post.
Octopus 2020.3, the third release of the year, introduces several enhancements aimed at improving user experience, including advancements in runbook automation, Jenkins Pipelines support, a streamlined process editor, and early access to an Octopus Linux Docker image. The release adds features like runbook-only projects, enhanced command-line interface support, environment-specific runbook settings, and easier integration with Jenkins, thus simplifying the automation of deployment processes. Additionally, the update offers improvements in configuration management and introduces breaking changes, such as the deprecation of Azure VM extensions and modifications to the Deploy to IIS step, with recommendations for replacements. Available with six months of long-term support, this release also marks the availability of Docker images for Linux, allowing users to self-host Octopus on their preferred operating system, and encourages feedback on this early-access feature.
Aug 03, 2020 1,018 words in the original blog post.