What is DevOps
DevOps (combination of Development and Operations in English) is a collective term for a set of processes, methods, and systems, used to promote communication, collaboration, and integration between development (application / software engineering), technical operations, and quality assurance (QA) departments. It emerged because the software industry increasingly recognized that in order to deliver software products and services on time,
development and operations must work closely together.
I think
DevOps should be an engineer culture, and promote communication and closed-loop collaboration between R & D, testing, and operation and maintenance to achieve business goals together. At the same time, corresponding processes and tools are needed to cooperate, simplify work, and improve efficiency.
DevOps stages
The first stage: process
Based on Jenkins and Docker implementation, it can initially connect continuous construction, continuous deployment, and continuous release, reduce manual configuration, and improve efficiency (practice based on local environment, try to test problems as far as possible, and prepare for online environment).
Second stage: automated service (partial)
Based on
Alibaba Cloud EDAS, the services of the basic production environment are all deployed on Alibaba Cloud. By using Alibaba Cloud services, online applications are provided with operation and maintenance, release, rollback, monitoring, diagnosis, etc .; at this stage, some non-core services are prepared to be carried out DevOps; At the same time introduce automated testing, UI automation, interface automation, improve test efficiency.
The third stage: intelligent
According to the actual business situation, improve the efficiency of development, testing, operation and maintenance through DevOps
How to implement DevOps
CI / CD
automated test
Continuous integration
Best Practices
Tool description
Currently in the first stage, I hope to improve the efficiency of development through the corresponding tool chain, continuous construction and continuous deployment (dev and test environments), and conduct experiments in offline environments.
Required software and tools:
Jenkins
Dokcer
IDEA
Git
Mainly the above tools, use as few tools as possible to reduce the learning pressure of development, testing, operation and maintenance, easy to get started quickly, and other software packages that need to be used will be listed in the documentation.
Docker environment configuration
For well-known reasons, the download speed of Docker is relatively slow in China, so the mirror address is used for installation.
Windows environment
Docker for Windows runs Docker on Windows. System requirements, Windows10x64 bit, support Hyper-V.
Mac environment
Docker for Mac runs Docker on Mac. System requirements, OS X 10.10.3 or higher, at least 4G memory, VirtualBox before 4.3.30 will conflict with Docker for Mac, so please uninstall the old version of VirtualBox.
Linux environment
#Execute the following script to install at high speed (applicable to most Linux such as Ubuntu, Debian, Centos, etc.)
curl -sSL https://get.daocloud.io/docker | sh
If your computer version is too old, you can use Docker Toolbox to run Docker on Windows or Mac. Applies to Mac OS X 10.8+ or Windows 7 / 8.1.
https://get.daocloud.io/toolbox/ (download the corresponding version by yourself, choose exe file for windows, choose pkg file for Mac)
Docker common commands
docker search XXX #Query docker image
docker pull XXX #Pull docker image
docker images #View the downloaded docker image
docker run XXX #Run docker container
docker ps #View the running docker container
docker stop XXX #Stop running containers
docker rm -f XXX #Delete the container
To better use Docker and various technologies requires constant charging and exploration.