Gradle is a high-performance open-source build automation tool that makes it possible to build just about any type of software. It is highly configurable and extensible via a well-developed plugin ecosystem. Because build automation is an integral part of the consistent delivery of software projects, Gradle integrates seamlessly with multiple IDE’s, including Android Studio. This tutorial covers the manual installation of Gradle on Linux, MacOS, and Windows.
Pyenv is a fantastic tool for installing and managing multiple Python versions. It enables a developer to quickly gain access to newer versions of Python and keeps the system clean and free of unnecessary package bloat. It also offers the ability to quickly switch from one version of Python to another, as well as specify the version of Python a given project uses and can automatically switch to that version. This tutorial covers how to install pyenv on Ubuntu 18.04.
Apache Maven is one of the most popular build management tools for Java projects. It employs a Project Object Model or POM utilizing an XML file to define the structure of a project, including its dependencies, documentation, and build parameters. Instead of having to manage those things individually, Maven consolidates that functionality allowing for a more streamlined and efficient project management process. In this tutorial, we are going to cover how to install Maven on Ubuntu 18.04.
Chocolatey or Choco as it is sometimes referred to, is a free, open-source package manager for Windows that is very similar to Apt or DNF in the Linux realm. In other words, this is a program used for installing software via the Windows command line. It downloads a program, installs it, then it will check for updates, and installs those updates automatically if needed. Those who use Linux are quite familiar with the package management systems like this.
Some ask, “Why should we choose to use a program like this, since we can simply download the .exe or .msi software and install the program ourselves?”
That is an excellent question. Here are several solid answers.
When we install a new operating system and want to use numerous programs, we must look for each program installer, download it, install it, and then regularly check for updates. The Chocolatey package manager this all by itself, when using automatic mode.
Instead of searching for an executable installer, we can install the program using the Chocolatey package manager and complete everything using the command line. It is much more convenient and faster.
We can conveniently and more comfortably control the application versions we need. Most often, when we go to download an executable for the application, it downloads the latest version for us, and we do not always need the latest version.
Chocolatey provides clear, simple commands which are almost identically used in all package management systems.
Windows 7 or later / Windows Server 2003 or later
PowerShell v2 or later
.NET Framework 4 or later
(As an aside, the installation will attempt to install .NET 4.0 if you do not have it already installed.)
Let’s move on to the installation. There are two options for installing Chocolatey. We can install Chocolatey via the command line or through PowerShell. The option to use cmd is most often used for Windows, and PowerShell for running scripts. In this case, we can run both cmd and PowerShell, but as an administrator, for this installation.
Please inspect the Chocolatey installation script before running it to ensure safety. Chocolatey already knows it’s scripts are safe, but by default, you should verify the security and contents of any script you are not familiar with, before downloading and running it from the internet. This installation downloads a remote PowerShell script and execute it on your machine. We take security very seriously.
Install Using Powershell
When installing the software via PowerShell, we must ensure the local Get-ExecutionPolicy is not set to restricted. Chocolatey suggests using Bypass to bypass the policy to get things installed or AllSigned for increased security.
First, we need to run. Get-ExecutionPolicy If it returns Restricted
Then we need to run Set-ExecutionPolicy AllSigned or Set-ExecutionPolicy Bypass -Scope Process.
Now run the following command in the Windows shell. Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
If there are no errors, Chocolatey will be installed. We can verify the installation using one of the following commands. choco or choco -?
Install Using Windows Cmd Shell
First, we need ensure that we are using an administrative shell. Next, copy the following command to our cmd.exe shell.
Microsoft Windows [Version 10.0.18363.900]
(c) 2019 Microsoft Corporation. All rights reserved.
C:\WINDOWS\system32>@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command " [System.Net.ServicePointManager]::SecurityProtocol = 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
Getting latest version of the Chocolatey package for download.
Getting Chocolatey from https://chocolatey.org/api/v2/package/chocolatey/0.10.15.
Extracting C:\Users\user\AppData\Local\Temp\chocolatey\chocInstall\chocolatey.zip to C:\Users\user\AppData\Local\Temp\chocolatey\chocInstall...
Installing chocolatey on this machine
Creating ChocolateyInstall as an environment variable (targeting 'Machine')
Setting ChocolateyInstall to 'C:\ProgramData\chocolatey'
WARNING: It's very likely you will need to close and reopen your shell
before you can use choco.
Restricting write permissions to Administrators
We are setting up the Chocolatey package repository.
The packages themselves go to 'C:\ProgramData\chocolatey\lib'
A shim file for the command line goes to 'C:\ProgramData\chocolatey\bin'
and points to an executable in 'C:\ProgramData\chocolatey\lib\yourPackageName'.
Creating Chocolatey folders if they do not already exist.
WARNING: You can safely ignore errors related to missing log files when
upgrading from a version of Chocolatey less than 0.9.9.
'Batch file could not be found' is also safe to ignore.
'The system cannot find the file specified' - also safe.
WARNING: Not setting tab completion: Profile file does not exist at
Chocolatey (choco.exe) is now ready.
You can call choco from anywhere, command line or powershell by typing choco.
Run choco /? for a list of functions.
You may need to shut down and restart powershell and/or consoles
first prior to using choco.
Ensuring chocolatey commands are on the path
Ensuring chocolatey.nupkg is in the lib folder
To verify that Chocolatey is installed, we will use the choco command.
Please run 'choco -?' or 'choco -?' for help menu.
Excellent! Chocolatey is installed!
Basic Chocolatey Commands
Now let’s review some of the basic commands for using Choco. Choco commands can be used in both the Windows cmd shell and in PowerShell.
To install a specific program, use the following command. choco install <pkg|packages.config> [ ] </pkg|packages.config>
For example: choco install chrome
For a complete listing of install options, visit the Choco install page or run the following command. choco install -h
To update a program, we will use the following command. choco upgrade <pkg|all> [ ] </pkg|all> For example: сhoco upgrade chrome
Update All Programs
To update all programs, we need to use the following command. cup <pkg|all> [ ] </pkg|all> or choco upgrade all
If you noticed, the cup command is an alternative to using the choco upgrade command.
Search For a Program
To find a needed program for downloading and installation, we can enter the following command. choco search chrome
See Installed Programs
Using the following command, you can see which programs are already installed using Choco. choco list --local-only
5 packages installed.
We can update the Choco program itself using this command. choco upgrade chocolatey
It is important to do this periodically because in previous versions, errors may be detected, and they need to be fixed so that there are no vulnerabilities.
Install the Chocolatey GUI
If someone is not comfortable using the command line, we can install the graphical user interface of Chocolatey using this command. choco install chocolateygui
That’s it! As you can see, using Chocolatey is very simple. Overall, we have found that Chocolatey is an excellent tool in our local systems administration toolbox. It is reliable, definitive, and consistently updated. Overall, it is an exceptional product.
Cloud automation is a blanket term that is often used to denote specialized software, tools, and operations that help us reduce the manual effort when it comes to deploying and maintaining cloud-based IT infrastructure. Simply put, it is automating tasks programmatically.
Did you ever wonder what happens when you place an order for a new VPS via the Liquid Web Manage Interface? Cloud Automation is behind all of that. Let’s dig in a bit deeper to learn what Cloud Automation is.
One key reason why automation is so widely embraced and used almost everywhere is that automation reduces the manual effort and intervention needed to deploy a set of tasks. Again, let’s take ordering a VPS as an example. When we placed our order before automation was in place, someone would have to manually allocate both the hardware and software resources. We would then install the OS, cPanel/WHM, and the other default server software, and we would test to make sure everything is working correctly.
Today, we can make an initial selection of our configurations based on the cloud environment of our choice, and so gain the ability to perform multiple complex tasks with a single click.
Benefits of Cloud Automation
Benefits of cloud automation are many, but I’ll list some of them so that you can get a better understanding of what Cloud Automation can do for your business and why it is a must-have if you are running an enterprise.
Agility: Businesses can scale quickly to better adapt to changing needs
Speed: Increased deployment speed of cloud infrastructure and management
Control: Better administration and centralized management of existing environments
Security: Graduated levels of security provide more granularity when controlling permissions and access rights
Resiliency: Downtime is revenue lost. The continuous monitoring of cloud services and automatic response to issues keep business processes running smoothly
Change Management: Improving the CI/CD (Continuous Integration and Continuous Delivery) method ensures a better overall process cycle while lowering the possibility of software errors or a failure which increases development stability
Cost: The TCO (Total Cost of Ownership) of our IT infrastructure is often significantly reduced
Once we have our automation system configured and ready for the delivery of programmed tasks, we will be able to deploy, integrate, and manage our systems quickly and effectively. Now that we know what cloud automation is and some of its benefits let’s talk about Cloud Orchestration.
We like to imagine Cloud Orchestration as Cloud automation evolved. Using cloud orchestration, we can execute automated tasks at an exact time across multiple nodes. We have task A, task B, and task C. You need to run task C before B, and task A after B. Automation can handle these tasks automatically. Orchestration allows us to perform them in the correct order, in a specific timeframe with better fault-tolerant behavior.
Cloud orchestration is an ideal solution for enterprises that need to orchestrate and manage processes across hundreds of domains, systems, and teams. Now that we know the difference between automation and orchestration, it’s time to discuss some common uses of cloud automation.
Cloud Automation Usage
Load balancing is the process of routing web traffic across multiple servers to ensure that resources are utilized in the best possible way. This can limit delays and improve the overall responsiveness of a site or application. Moreover, if one of our servers in a cluster goes offline, the website or application will not stop, as the rest of the servers in the cluster will take up the work for the server that went offline. Additionally, a new server can be restarted to replace the down server or service almost immediately.
Development and Testing
In today’s world, everything around us is continually evolving and changing. Think about your favorite software. Every update that comes out has to be tested in advance on multiple environments and platforms. In many cases, whole teams of developers are testing new updates. They need new settings generated directly, and this is where automation comes into play and shines. Developers can set up new environments with an OS, browser, and other tools that they need in a blink of an eye.
IaC (Infrastructure as Code)
IaC is actually one of the most common uses of automation. This process is what manages and deploys VM’s, cloud storage volumes (when you order new CBS or Object Storage platform, for example), networks, load balancers, and many other available components and services. Basically, we create templates to manage all of these functions and services and allow IaC to oversee these processes. Now that we have provided some examples of automation and its usage let’s review some of the most common cloud automation tools.
Cloud automation tools
Kubernetes is a widely used open-source system for automation used to manage containerized workloads and services. Today, all major cloud providers are offering their own branded versions of Kubernetes, including Google, Microsoft, and Amazon, to name a few.
Puppet is one of the oldest tools in use today for use in IaC. When we are looking for a server cluster and management automation tool, Puppet meets that need. It is also an open-source software but does have an available enterprise version.
Ansible is an IaC friendly tool developed by Red Hat. The enterprise version of this tool is called Ansible Tower, and it is capable of performing automation and orchestration tasks. We will conclude this article with Ansible.
Docker is a containerization software that is used for automating the deployment and management of applications within an isolated environment. This software allows us to “pack” and ship an application, along with all of its needed files, libraries, and dependencies, into a “docker container“. That container can then be easily ported to any Linux system that contain cgroups support within the kernel, and provides a container management environment. Docker is one of several containerization implementations (not to be confused with virtualization) based on this cgroups mechanisms built into the Linux kernel.
These are just a few of the essential tools used in cloud automation, but we have merely scratched the surface of the available devices and utilities available to us.
Overall, Cloud automation is a winning choice for many businesses if a stable, continuous, and permanent management of infrastructure is required.
Our Support Teams are replete with talented Linux technicians and System administrators who have an intimate knowledge of multiple web hosting technologies, especially those discussed in this article. If you are a Fully Managed VPS server, Cloud Dedicated, VMWare Private Cloud, Private Parent server or a Dedicated server owner and you are uncomfortable with performing any of the steps outlined, we can be reached via phone @800.580.4985, a chat or support ticket to assisting you with this process.
INXI is one of the best tools that offer a straightforward and comprehensive method for obtaining a wealth of information about a server with a single command.
There are a myriad of individual tools and commands that can be utilized to glean this information from a Linux system. Understanding the specific hardware that underlies a Linux server is an integral part of understanding that server’s capabilities. In this tutorial, we will cover the installation of INXI on an Ubuntu 18.04 server. It will also include some basic command-line usage of the INXI tool.
Java is a programming language used to build Android apps and real life web applications like Gmail and Google Docs. This ubiquitous language can be installed onto an Ubuntu server and its what we’ll be teaching in this tutorial today.
Oracle’s Java 8 is a programming language that creates many of the applications and websites in use today. Its ubiquitous and stable nature makes it a favorite amongst Google and Android developers for the last 20 years. If you have a Liquid Web Core Managed Ubuntu LTS VPS server, contact our support team for help with installation. Otherwise, this tutorial guides you through how to install Java 8 (Java Development Kit) and set the path of the JAVA_HOME variable.
Screen is a terminal program in Linux which allows us to use a virtual (VT100 terminal) as full-screen window manager which multiplexes an open physical terminal between multiple processes, which are typically, interactive shells. It allows us to access multiple terminal sessions within a single terminal or a remote terminal session. It is most useful when addressing multiple Linux shell commands on the command line, as well as separating commands from the shell that started the commands.