In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-01-18 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Servers >
Share
Shulou(Shulou.com)06/02 Report--
Recently, I read a lot of articles about CI/CD on the Internet, in fact, they are basically the same, and the content is not very perfect. Indeed, the current open source tools used in continuous integration are nothing more than Git, Jenkins, Ansible (Fabric). The difference should be the differences in the technical framework of each company and the release review process, which makes the configuration details quite different. The next series of articles I would like to share focus on production release, cluster middleware building and monitoring. And they are the technologies we have been using all these years (from 2014 to now) (including the details of specific environment construction and front-end release and other details). Welcome to tap bricks and discuss them together.
The process we have been following is as follows:
0. Set up a gitlab server within the company, and employees register their accounts on the company's gitlab server through the company's mailbox.
1. The configuration administrator creates a project (project or warehouse) on the gitlab. It is recommended to divide the group (group) according to the line of business or function, and then create a specific project under the group to prevent all project from being mixed with one group.
2. After the source code project; is compiled, the source code can be used to release the package and put it in the publishable project.
3. The configuration administrator assigns permissions (master, develop, Reporter, etc.) to registered developers, which can be assigned on group or down to a project.
4. Developers usually only assign develop permissions and develop in the develop branch. Developers are not allowed to submit code directly to master (main branch). If they need to submit code to master, they need to issue a merge request, and it is up to the project manager review to decide whether to merge or not.
5. After the source code is merged, the coalescer hits tag to trigger jenkins to build the release version package, and push it to the project of the corresponding release code, synchronize the tag, and release it to the test environment according to the latest tag.
6. After passing the code review, integration test, functional test and security test, and confirming and agreeing to release by the product staff, the tag passed by the test is released to the RC environment using jenkins.
7. RC is running normally, and the product staff confirms that they agree to release it to production, and then use jenkins to release the tag passed by RC (the tag of test and RC are the same) to the production environment.
8. If an exception occurs after publishing, use jenkins to roll back the last normal tag.
The above is an ideal process, but in the actual development process, a developer may have multiple roles, including coding, testing, and so on, so a more general process may be shown in figure 1 below.
Figure 1
Similarly, small and medium-sized companies generally have only one or two OPS personnel, so while maintaining the above release framework, the OPS personnel always have the following skills:
0. Ability to communicate and coordinate harmoniously with students in development, testing and products.
1. Gitalb building and configuration management functions, including backup recovery, email notification, permission assignment, creation of project, Webhooks, tag (label) normalization and automatic generation of tag and other common maintenance operations through API.
2. Jenkins environment building and configuration management functions. It includes plug-in installation, permission assignment, mail notification, script creation job, parameterized construction and so on.
3, script writing ability, including Shell, Fabric or with the help of Ansible to complete code compilation, push, release (rollback is also released) and so on.
4. Centralized log collection, such as configuring syslog-ng and ELK, individuals prefer to use syslog-ng to complete centralized collection, and then use ELK to display, because developers are more accustomed to using tailf to check whether errors are reported during the publishing process so that they can be rolled back in time.
5. For monitoring, it is recommended to use Zabbix+Grafana or Nagios. Implement network equipment monitoring (CPU, memory, temperature, interface traffic, etc.), server hardware monitoring (obtaining hardware failure information through IPMI interface), system monitoring (memory, CPU, disk space and IO, load, network card traffic, file handle, etc.), cluster middleware monitoring (cluster status, CPU, memory usage, log, etc.) service monitoring (process, port, response status code, log, etc.), Database monitoring (common hit rate indicators, tablespaces, slow queries, logs, etc.), business monitoring, etc. Ensure that the business runs steadily from time to time without interruption.
6. Cluster middleware building and maintenance capabilities, such as Zookeeper, Redis, Mongodb, RabbitMQ, RocketMQ and so on.
7. Database cluster building and maintenance capabilities, including Oracle and MySQL. However, small and medium-sized companies are basically in the cloud, mainly using RDS. Personally, I think the performance monitoring visualization of Aliyun RDS is very good, far exceeding AWS.
Conclusion: operation and maintenance is really not easy, it will be a scapegoat in a minute, please be nice to the operation and maintenance staff!
The next article: Gitlab building and configuration skills
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 0
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.