Deploying a Project
Once your project has matured to the point where you want to host a development, staging or final deployment, Perfect Assistant can handle the process of deploying the Linux binary of your project to one or more AWS instances, creating a system service and start it.
To deploy your project, click on the "Deploy" button under the "BUILD" section of the workspace. This will open a new panel asking you to "Select Deployment Configuration". If you have not previously set up the target configuration, click "Create New..."
Creating new Deployment Configurations
This displays the "New Deployment Configuration" section. Initially you can only choose AWS, however support for Microsoft Azure will be included soon.
AWS-specific configuration options.
Choose a configuration name, and EC2 credentials as previously specified. If the EC2 credentials required are not present, either choose "Import..." or "Add" to set these up.
SSH Key: You will have been issued with an SSH Key as part of your AWS setup. Select from your file system this using the "Choose..." button.
The list of available instances is refreshed when you select the EC2 Credentials to be used. If required, press "Reload" to force Perfect Assistant to retrieve the latest instances.
Adding new EC2 Instances
To add new instances, click the "Add..." button. You will see the folloing screen:
You are able to choose the number of instances to add, the Security Groups, Instance Type, SSH Key Pair, Availability Zone and Subnet. Once the appropriate selections have been made, click "Launch" and Perfect Assistant will instruct AWS to create these new instance and add them to your AWS account.
Triggering the deployment
Once all deployment and instance configuration has been completed, navigate back to the "Select Deployment Configuration" screen, ensure the correct deployment option is selected, and click "Deploy".
The Perfect Assistant will build the project in it's Linux Docker environment, and begin deployment to all AWS instances chosen.
If the project has a "webroot" directory, this will also be copied to each instance. If the deployment has been done previously, the service will be stopped and started again once all assets are in place.