In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-02-25 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Internet Technology >
Share
Shulou(Shulou.com)06/03 Report--
3. How did the build error come about?
Xiaochuan on the way back to the station, recalling the conversation with Lao Liu, the heart filled with emotion. Lao Liu wasn't accusing me, or even ordering or asking me, but asking me for help. He didn't belittle my immature ideas or even tell me what to do, but let me keep thinking and prompted me to investigate more.
Back at the station, Xiaochuan talked to his master about these things. The Master said,"Of course Old Liu can't order you. He's a project manager, not your department manager. If he dares to accuse you, tell our leaders that someone is backing you up. As for him not telling you what to do, either he doesn't know or he won't say it out of his mouth. This man is obviously an old fox. Be careful. "
"Thank you, Master, for reminding me. "
Everyone said that there was office politics in the company. It seemed that this was indeed the case, Xiaochuan thought. Master is a lot older than me, so I want to hear more from him about this. But why does construction always go wrong? Old Liu is right. I have to investigate and analyze it before I know.
Xiaochuan began to investigate. Take for example the integration that was done last week. Every time a build goes wrong, I locate the source file that went wrong, then check who moved the file recently through the source code version control tool, then find the appropriate programmer to correct it, and then check the correction directly into the integration branch. Well, I'll see who checked the corrections into the integration branch during the integration to see whose commit caused the problem.
Xiaochuan went to check the source code version control tool version library integration branch on the recent changes made. Hey, Xiaochuan changed them all…Oh, because the programmers all went to my computer to change them, so they were all checked in in my name. Alas, I can't find out if I'm investigating like this.
Xiaochuan had to check the specific documents changed according to each change. Because modifying the file so that the compilation passes means that the previous change to the file was problematic. In this way, if he checked who changed this file on which mission branch, he would know who caused the disaster.
In this way, Xiaochuan spent most of the day, when he was about to get off work, sorting out a table indicating who brought in each build error encountered in this integration. Off duty!
After work, Xiaochuan casually bought something to eat outside. As she ate, she felt that something was wrong. It wasn't that something was wrong with the food he ate, but that something was wrong when he recalled the results of his work before work.
Every build error is really caused by a commit, and really exists because of a commit. Without that commit, there is no corresponding build error. However, this does not mean that the commit itself is problematic, that there is a build error. Because what programmers build before they commit is not what I build. What I build is what happens when multiple references are put together.
In fact, that's exactly where Old Liu questioned me. "If the programmer's commit is OK, are you sure you're OK when you build? "I thought something was wrong. I wasn't thinking straight. Why did he forget about it when he was investigating this afternoon? No, I have to keep working on it. Otherwise, a week later, a new round of construction would begin again, and he would not be able to care about it.
On Tuesday, Xiaochuan came to work, unlocked the computer, and began to reproduce the environment before the programmer submitted it. This is relatively simple, because the programmer works on the task branch, and all the content to be submitted is saved on the task branch before submission, so as long as the source code at the end of the task branch is taken out and put into the local workspace, the programmer will get the environment before submission.
In such a workspace, Xiaochuan began to compile and construct. It takes more than an hour to build, because you can't do incremental builds, you can only build at full capacity. More than an hour later, the results of the construction came out. The construction was successful!
Xiaochuan did a few more experiments. The results vary. Some are successful, some are wrong. Although not completely certain, but from memory, it should be the fault of building the Times on the integration branch. In this way, there are two possibilities for building an error on the integration branch, one is a problem with the commit itself, and the other is a problem caused by the merger of several commits. In terms of numbers, it's about half and half.
After getting the results of the analysis, Xiaochuan felt a sense of accomplishment. When I was happy, I thought, um, integrating this job, actually it was quite easy, because most of the time I was waiting. Waiting for programmers to resolve code merge conflicts, waiting for builds. The build failed, waiting for the programmer to fix it. And sometimes we wait together. Wait until the committed code is merged into the integration branch before the programmers concerned can go home. Once the baseline is out, new tasks that depend on what is in the baseline can begin. Wait, wait, wait, wait. Youth is waiting for the past.
This article is excerpted from the book Software Integration Strategy
Dong Yue.
Electronic Industry Press.
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.