How to write deployable software?

I am a programmer working with sysadmin Unix, and because now it is close and expensive for my heart, I wanted to hear about the best and worst practices in terms of writing software so that it is easy to deploy, update and maintain a long-term perspective. I am not talking about the long-term content of the code itself; rather, what recommendations do you use so that your software does not turn into an uncontrollable mess?

My current homepage is hard-coded configurations. I work with our development team at my full work to simplify the deployment of our applications so that I can fully automate every step of the deployment process. Most of the configuration for these applications is actually hardcoded either at build time or in the code base, which makes the process of actually setting up software on the server very, very painful.

Fortunately, the team at my full-length concert is talented and wants to see it fixed as much as I do, so everything goes smoothly.

Regarding the “best practice”, from a Unix point of view, I really like when the software is or can be self-sufficient. Thus, I should be able to install the application in a directory, and then be able to move this directory without forcing the application to completely leave. Actually, this is not much more than a little discovery of the startup path, and it makes my life as an administrator so much nicer.

In what ways do you simplify the deployment process (for both Windows and Unix) for server-type applications, as well as the fact that some of the things you came across turned into a real nightmare when it came time to get the code out of the door?

+3
source share
5 answers

1- . , x, x . .

2 - .

3- (COM DLL Hell Days Windows)

4- , . , , , , - , sql script, , DB . ... , .

+3

. ( , , , ) , .

./configure, make, make install ( , ) . configure , --prefix ( exec-prefix, bindir ..) . . GNU ( GNU, , configure ).

man , , . (info, HTML, ), man . GNU man info docs .

+2

. script, . , , , . . , , , , , , . , . /u/spool/ 01 . /u/spool 05 . /u/spool 30 . Consier , . . . . . , . , . runaway, . . .

0

, , , , .

, , , . , , , , , , .

, , , , , ; . , script , QA, .

0

: , : " ?" , ...

I wonder if the leaflet from the Agile book can help? Work in short iterations (say, one to four weeks) and make sure that you deploy no less than at the end of each iteration. Thus, you are forced to have a good understanding of the deployment of your application - if it takes too much time, you will not achieve anything. Problems with the deployed application return from the user community as they occur and may be prioritized for actions on subsequent iterations.

0
source

Source: https://habr.com/ru/post/1705896/


All Articles