Deployment is a complex task in the software development cycle, and involves making careful decisions to ensure the optimal deployment solution is reached. With tons of options available to developers, making those decisions can be testing even before the physical process of deployment.
Learning Application Deployment with Laravel is a great introduction into the world of deployment. You’ll learn how to deploy a project as a team, deploy a project to different staging environments, and finally different ways to actually host your deployed application. At the end of the course, we look at a couple of ways to make what can be a flavorless process more lively, or maybe even fun!
We’ll start off by setting up our machine and getting familiar with the tools and code we’ll be using throughout the course. You’ll learn about interesting things such continuous deployment workflows, and an application’s life cycle. You’ll find out about the different types of staging environments you can set up for your users and your team. You’ll also discover when to use a cloud server over the traditional web hosting providers, how to handle a team, and see how tricky databases can be. Finally, we’ll close things up with some techniques to make deployment a little less painful.
Learning Application Deployment with Laravel will introduce you to and ground you in the basics of the many moving parts of a process that every developer has to eventually perform. This video course will rid any deployment phobias you may have, and teach you in a way that is fun and engaging. After going through these videos, you will be one step closer to being an all-star developer.
About The Author
James Dow is a web designer and developer who graduated top of his class from Full Sail University. He’s been developing websites since he was 8 years old, but getting to where he is today has taken patience, commitment, and perseverance. As an IBM Design employee, James works relentlessly to help change the culture at IBM to be more focused on the user, and to back that up by designing and building experiences that everyone can enjoy.
This video acts as a trailer to the course. It will show the highlights of this course.
You can't deploy an application without the right tools. We can install some of the core tools that every developer uses for basic deployment.
Deployment can be difficult. You can use tools in your projects that help with deployment. By expanding your toolset, you will have advanced ways to deploy an application that improves your workflow.
It's important to work from the same set of files to be able to follow along.
Deployment is usually thought of too late in an application's life cycle. Walking through the life of an application will help you see how deployment is related to the flow of the application.
The deployment team is often left scrambling at the last minute to come up with a solution. By looking at different considerations, you'll think about deployment earlier rather than later.
The hosting environment can sometimes dictate what deployment solution you choose. By looking at different hosting environments, you'll have a better understanding of the end game.
There are hundreds of deployment solutions, methods, ideologies, workflows, and so on. There is no one size that fits all deployment strategies/tools. They all have their pros and cons.
Learning deployment and learning something as daunting as a terminal can be difficult. An FTP through FileZilla is a great place for beginners to start learning deployment.
When deploying a website, there needs to be a secure connection between servers. SSH within the terminal can help us encrypt that connection for a secure deployment.
There are many tools available to help you deploy a project. Git is a tool that almost every developer uses, and it can help automate deployment with Git Hooks.
There are many tools available to help you deploy a project. Gulp is a widely used task runner. We can easily set up a number of different flavored tasks within Gulp to deploy our website.
Many hosting services can be expensive and cumbersome. By using a service such as Heroku, you can customize your service and pay for what you need.
There are many hosting services out there that are very limiting. Cloud services such as Bluemix allow you to customize and scale your solution to fit your needs.
You may not want to work off the production database during development, especially if the database is already live. You can create a different database staging environments to solve this problem.
Deploying code is one thing, but deploying a database is entirely another separate issue. By manually exporting your local database and importing it into your remote database, you'll get a hands-on experience dealing with the basics of a database deployment process.
Once you deploy a database to production, your data can instantly become outdated on your local server. It's a good idea to create some sort of workflow to keep both databases in sync with each other.
Many techniques in this section will revolve around using Git. So, this video will help you get up to speed with some of the basics of Git.
You can't really work as a team without a workflow. Even a bad workflow is better than no workflow. In this video, we'll cover GitHub's suggested workflow that many teams use.
Having only one environment can easily expose users to bugs when developing and iterating on an application. The solution to this is using multiple environments to separate production from testing and development environments.
Allowing too many people to deploy an application just opens the door for more problems. Giving only 2 or maybe 3 people the permission to deploy an application prevents unnecessary confusion, minimizes problems, and creates accountability.
Most of the time, the deployment of a project is done in the terminal. It can be daunting and confusing at times, with so many options available. A solution to this is to build an interface with Laravel that is specific to your project's needs.
When a person deploys an application, it can go unnoticed by other important team members. By integrating it with Slack, you can notify your team when your application has been deployed.
Deployment can be time consuming, but if you create a cron job that automatically deploys your application, you don't have to ever worry about it again.
Some projects just aren't big or important enough to justify paying for a monthly hosting service. For projects such as these, you can easily create your own server.
There are many tools and software out there to help deploy an application. By using php artisan commands in Laravel, you can avoid extra software
You may not have gone through all the materials of this course. This section will just summarize everything for you.
Since this is more or less an introduction, you might not know where to look to learn more. This video will discuss some places for you to look to learn more and find the answer to your questions.
Packt has been committed to developer learning since 2004. A lot has changed in software since then - but Packt has remained responsive to these changes, continuing to look forward at the trends and tools defining the way we work and live. And how to put them to work.
With an extensive library of content - more than 4000 books and video courses -Packt's mission is to help developers stay relevant in a rapidly changing world. From new web frameworks and programming languages, to cutting edge data analytics, and DevOps, Packt takes software professionals in every field to what's important to them now.
From skills that will help you to develop and future proof your career to immediate solutions to every day tech challenges, Packt is a go-to resource to make you a better, smarter developer.
Packt Udemy courses continue this tradition, bringing you comprehensive yet concise video courses straight from the experts.