рд╕рд┐рд░рджрд░реНрдж рдХреЗ рдмрд┐рдирд╛ рд▓рд┐рдХреНрд╡рд┐рдмреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдЕрдиреБрднрд╡ рд╕реЗ 10 рд╕реБрдЭрд╛рд╡

kdpv рд▓рд┐рдХрд┐рдмреЗрд╕ рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдореИрдиреЗрдЬрдореЗрдВрдЯ рд╕рд┐рд╕реНрдЯрдо рд╣реИред рд▓рд┐рдХреНрд╡рд┐рдмреЗрд╕ рдкрд░ рдпрд╣ рджреВрд╕рд░рд╛ рд▓реЗрдЦ рд╣реИ, рдЗрд╕ рдмрд╛рд░ рд╕рд┐рд╕реНрдЯрдо рдХреЗ "рдореБрдХрд╛рдмрд▓рд╛" рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдпреБрдХреНрддрд┐рдпрд╛рдВред рдмреБрдирд┐рдпрд╛рджреА рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП, рдкрд╣рд▓рд╛ рдЕрдиреБрд╡рд╛рдж рд▓реЗрдЦ тАЬрд▓рд┐рдХреНрд╡рд┐рдбрдмреЗрд╕ рдХреЗ рд╕рд╛рде рдбреЗрдЯрд╛рдмреЗрд╕ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХрд╛ рдкреНрд░рдмрдВрдзтАЭ ( рд▓рд┐рдВрдХ ) рдЙрдкрдпреБрдХреНрдд рд╣реИред

рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдЬреАрд╡рди рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рд╡рд╛рд▓реЗ рдХрдИ рдЙрдкрдХрд░рдгреЛрдВ рдХреА рддрд░рд╣, рд▓рд┐рд▓реАрдмреЗрд╕ рдХреЗ рдкрд╛рд╕ рдПрдХ "рдлреНрд▓рд┐рдк рд╕рд╛рдЗрдб" рд╣реИ рдЬрд┐рд╕реЗ рдЖрдкрдХреЛ рдЬрд▓реНрдж рдпрд╛ рдмрд╛рдж рдореЗрдВ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдпрд╣рд╛рдВ 10 рдЪреАрдЬреЗрдВ рд╣реИрдВ рдЬреЛ рд▓рд┐рдХреНрд╡рд┐рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдХрд┐рд╕реА рд╕рдордп рдореЗрд░реЗ рд▓рд┐рдП рдПрдХ рд░рд╣рд╕реНрдпреЛрджреНрдШрд╛рдЯрди рдереЗред

1. рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреЗ рдлрд╝реЛрд▓реНрдбрд░ рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рдкрд░рд┐рд▓рдХреНрд╖рд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП


рдпрджрд┐ рдЖрдк рдЗрд╕ рдирд┐рдпрдо рдХрд╛ рдкрд╛рд▓рди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЪреЗрдВрдЬрд▓реЙрдЧ рдлрд╛рдЗрд▓реЗрдВ рдЬрд▓реНрджреА рд╕реЗ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рдЙрдирдХреА рд╕рдВрдЦреНрдпрд╛ рдФрд░ рдЕрд╕рд╛рдорд╛рдиреНрдп рдирд╛рдореЛрдВ рд╕реЗ рд╕рдЬрд╛рдПрдЧреАред
рдлрд┐рд▓рд╣рд╛рд▓, рдЦреБрдж рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рдлрд╝реЛрд▓реНрдбрд░реЛрдВ рдХреЗ рдирд╛рдордХрд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдЗрд╖реНрдЯрддрдо рд░рдгрдиреАрддрд┐ рд╡рд┐рдХрд╕рд┐рдд рдХреА рд╣реИред рдпрд╣рд╛рдБ рдпрд╣ рд╣реИ:

/db-migrations /v-1.0 /2013-03-02--01-initial-schema-import.xml /2013-03-02--02-core-data.xml /2013-03-04--01-notifications.xml /changelog-v.1.0-cumulative.xml /v-2.0 ... /changelog-v.2.0-cumulative.xml /changelog.xml 

рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА:

1.1ред рдбреЗрдЯрд╛рдмреЗрд╕ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдкреЗрд╢реЗрд╡рд░реЛрдВ:


1.2ред рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдЪрдпреА рдЪреИрдВрдЬ рдлрд╝рд╛рдЗрд▓ рд╣реИ

рдореБрдЦреНрдп рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ /db-migrations/changelog.xml рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрд╕реНрдХрд░рдг рдХреА рдХреЗрд╡рд▓ рд╕рдВрдЪрдпреА рдЪреЗрдВрдЬрд▓реЙрдЧ рдлрд╛рдЗрд▓реЗрдВ рдЗрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ ("рд╢рд╛рдорд┐рд▓" рдЯреИрдЧ)ред

 <?xml version="1.0" encoding="UTF-8"?> <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"> <!-- Should be only links to per-version cumulative changelog files. --> <include file="v-1.0/changelog-v.1.0-cumulative.xml" relativeToChangelogFile="true"/> <include file="v-2.0/changelog-v.2.0-cumulative.xml" relativeToChangelogFile="true"/> </databaseChangeLog> 

рдмрджрд▓реЗ рдореЗрдВ, рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рдВрдЪрдпреА рдЪреЗрдВрдЧрд▓реЙрдЧ рдореЗрдВ рдЪреЗрдВрдЬрд░ рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рд╡рд┐рд╢рд┐рд╖реНрдЯ рдлрд╛рдЗрд▓реЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЪреЗрдВрдЬрд▓реЙрдЧреНрд╕ рдХреА рдореБрдЦреНрдп рдлрд╝рд╛рдЗрд▓ рдХреЛ рдирд╣реАрдВ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред

1.3ред рдлрд╝рд╛рдЗрд▓ рдирд╛рдордХрд░рдг рджрд┐рд╢рд╛рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ

рдлрд╝рд╛рдЗрд▓ рдирд╛рдордХрд░рдг рдирд┐рдпрдо рдЖрдкрдХреЛ рд╕рдордЭрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдХрд┐ рд╕рдВрдЪрдпреА рдлрд╝рд╛рдЗрд▓ рдкрд░рд┐рд╡рд░реНрддрдХ рдХреЛ рджреЗрдЦреЗ рдмрд┐рдирд╛ рдХреНрдпрд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

 -<DATE_INCR>-.xml 
DATE тАУ
DATE_INCR тАУ ( .)
DESCR тАУ .
:
2013-03-02--01-initial-schema-import.xml

2. ,
( rollback ) .
, . , .

, PROD-, , , , .

3. ,
тАФ . , , .
, , rollback. .

4. , ,
, Oracle MySQL DDL- .
, , DDL-, .
( ):

<changeSet id="2013-03-02-initial-schema-import-1" author="eg"> <createTable tableName="HOUSES"> <column name="ID" type="BIGINT" /> </createTable> <addPrimaryKey tableName="HOUSES" columnNames="ID" /> </changeSet>

-<DATE_INCR>-.xml
DATE тАУ
DATE_INCR тАУ ( .)
DESCR тАУ .
:
2013-03-02--01-initial-schema-import.xml

2. ,
( rollback ) .
, . , .

, PROD-, , , , .

3. ,
тАФ . , , .
, , rollback. .

4. , ,
, Oracle MySQL DDL- .
, , DDL-, .
( ):

<changeSet id="2013-03-02-initial-schema-import-1" author="eg"> <createTable tableName="HOUSES"> <column name="ID" type="BIGINT" /> </createTable> <addPrimaryKey tableName="HOUSES" columnNames="ID" /> </changeSet>

-<DATE_INCR>-.xml
DATE тАУ
DATE_INCR тАУ ( .)
DESCR тАУ .
:
2013-03-02--01-initial-schema-import.xml

2. ,
( rollback ) .
, . , .

, PROD-, , , , .

3. ,
тАФ . , , .
, , rollback. .

4. , ,
, Oracle MySQL DDL- .
, , DDL-, .
( ):

<changeSet id="2013-03-02-initial-schema-import-1" author="eg"> <createTable tableName="HOUSES"> <column name="ID" type="BIGINT" /> </createTable> <addPrimaryKey tableName="HOUSES" columnNames="ID" /> </changeSet>

-<DATE_INCR>-.xml
DATE тАУ
DATE_INCR тАУ ( .)
DESCR тАУ .
:
2013-03-02--01-initial-schema-import.xml

2. ,
( rollback ) .
, . , .

, PROD-, , , , .

3. ,
тАФ . , , .
, , rollback. .

4. , ,
, Oracle MySQL DDL- .
, , DDL-, .
( ):

<changeSet id="2013-03-02-initial-schema-import-1" author="eg"> <createTable tableName="HOUSES"> <column name="ID" type="BIGINT" /> </createTable> <addPrimaryKey tableName="HOUSES" columnNames="ID" /> </changeSet>

-<DATE_INCR>-.xml
DATE тАУ
DATE_INCR тАУ ( .)
DESCR тАУ .
:
2013-03-02--01-initial-schema-import.xml

2. ,
( rollback ) .
, . , .

, PROD-, , , , .

3. ,
тАФ . , , .
, , rollback. .

4. , ,
, Oracle MySQL DDL- .
, , DDL-, .
( ):

<changeSet id="2013-03-02-initial-schema-import-1" author="eg"> <createTable tableName="HOUSES"> <column name="ID" type="BIGINT" /> </createTable> <addPrimaryKey tableName="HOUSES" columnNames="ID" /> </changeSet>

-<DATE_INCR>-.xml
DATE тАУ
DATE_INCR тАУ ( .)
DESCR тАУ .
:
2013-03-02--01-initial-schema-import.xml

2. ,
( rollback ) .
, . , .

, PROD-, , , , .

3. ,
тАФ . , , .
, , rollback. .

4. , ,
, Oracle MySQL DDL- .
, , DDL-, .
( ):

<changeSet id="2013-03-02-initial-schema-import-1" author="eg"> <createTable tableName="HOUSES"> <column name="ID" type="BIGINT" /> </createTable> <addPrimaryKey tableName="HOUSES" columnNames="ID" /> </changeSet>

-<DATE_INCR>-.xml
DATE тАУ
DATE_INCR тАУ ( .)
DESCR тАУ .
:
2013-03-02--01-initial-schema-import.xml

2. ,
( rollback ) .
, . , .

, PROD-, , , , .

3. ,
тАФ . , , .
, , rollback. .

4. , ,
, Oracle MySQL DDL- .
, , DDL-, .
( ):

<changeSet id="2013-03-02-initial-schema-import-1" author="eg"> <createTable tableName="HOUSES"> <column name="ID" type="BIGINT" /> </createTable> <addPrimaryKey tableName="HOUSES" columnNames="ID" /> </changeSet>

рдпрджрд┐ рдЗрдВрдбреЗрдХреНрд╕ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рджреМрд░рд╛рди рдХреЛрдИ рддреНрд░реБрдЯрд┐ рд╣реЛрддреА рд╣реИ, рддреЛ HOUSES рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рд╣рдЯрд╛рдпрд╛ рдирд╣реАрдВ рдЬрд╛рдПрдЧрд╛!
рджрд░реНрдж рд╕реЗ рдХреИрд╕реЗ рдмрдЪреЗрдВ? рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реНрдХреАрдорд╛ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЪреИрдВрдЬ рдореЗрдВ рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЙрджрд╛рд╣рд░рдг (рдЗрддрдирд╛ рд╕рд╣реА):

 <changeSet id="2013-03-02-initial-schema-import-1" author="eg"> <createTable tableName="HOUSES"> <column name="ID" type="BIGINT" /> </createTable> </changeSet> <changeSet id="2013-03-02-initial-schema-import-2" author="eg"> <addPrimaryKey tableName="HOUSES" columnNames="ID" /> </changeSet> 


5. рдорд╛рдЗрдЧреНрд░реЗрд╢рди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдиреЗ рдХрд╛ рдорд╛рд░реНрдЧ рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИ


рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реНрдХреАрдорд╛ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛ рдХрдорд╛рдВрдб рджреЗрдЦреЗрдВ

 cd c:/mychangelogs/ liquibase --url=jdbc:mysql://localhost:3306/liquiblog --driver=com.mysql.jdbc.Driver --username=root --password="" --changeLogFile=db.changelog-0.1.0.xml update 

 liquibase --url=jdbc:mysql://localhost:3306/liquiblog --driver=com.mysql.jdbc.Driver --username=root --password="" --changeLogFile=c:/mychangelogs/db.changelog-0.1.0.xml update 

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рджреВрд╕рд░реА рдЯреАрдо рдХреЛ рдХреЛрдИ рдмрджрд▓рд╛рд╡ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ, рд▓рд┐рдХреНрд╡рд┐рдмреЗрд╕ рдбреИрдЯреИрдмрд╕реИрдХреЗрдирдЬреЗрд▓ рдЯреЗрдмрд▓ рдХреЗ FILENAME рдХреЙрд▓рдо рдореЗрдВ рдЪреЗрдВрдЬрд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдкрде рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред
рдЗрд╕ рддрдереНрдп рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ, рджреВрд╕рд░реЗ рд▓реЙрдиреНрдЪ рдкрд░ рд▓рд┐рдХреНрдмрд┐рдмреЗрд╕ рд╕рднреА рдЪреЗрдВрдЬрд░ рд╕реЗрдЯ рдХреЛ рдирдпрд╛ рдмрдирд╛рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдЧрд╛ред рдпрд╣ рдЖрдкрдХреА рдбреЗрдЯрд╛ рдпреЛрдЬрдирд╛ рдХреЛ рддреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реИ!

рджрд░реНрдж рд╕реЗ рдХреИрд╕реЗ рдмрдЪреЗрдВ? рд╣рдореЗрд╢рд╛ рдЙрд╕реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реЗ рд╕рд╛рдкреЗрдХреНрд╖ рдкрдереЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЪреИрдВрдЬ рдЪрд▓рд╛рдПрдВред

6. рдкреВрд░реНрд╡ рд╢рд░реНрдд рд╕реНрдерд┐рддрд┐ рдЪреИрдВрдЬ рдХреЗ рдЪреЗрдХрд╕рдо рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддреА рд╣реИ


рдпрд╣ рддреНрд░реБрдЯрд┐ рдХреЗ рдкреНрд░реЗрдорд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫреА рдЦрдмрд░ рд╣реИ (рдЬреЛ рдХрд┐, рд╣рдо рд╕рднреА, рдЬрд▓реНрджреА рдпрд╛ рдмрд╛рдж рдореЗрдВ)ред рдХрднреА-рдХрднреА рдпрд╣ рдЖрдкрдХреЛ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рд╢рд░реНрддреЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЗрд╕ рдкреНрд░рдХрд╛рд░, "рдЕрддреАрдд рдХреЛ рд╕рд╣реА рдХрд░рдирд╛ред"

7. рдмрд╛рд░-рдмрд╛рд░ рдмрджрд▓рддреЗ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рд▓рд┐рдХреНрд╡рд┐рдмреЗрд╕ рдЗрддрдирд╛ рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИред


рдПрдХ рдмрд╛рд░ рд╣рдордиреЗ рдПрдХ рд╣реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдбреЗрдЯрд╛ рдХреЛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдЪреЗрдВрдЬрд▓реЙрдЧреНрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдбреЗрдЯрд╛ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ред рдпрд╣ рдмрд╣реБрдд рджреБрдЦрдж рдирд┐рдХрд▓рд╛ - рд▓рдЧрд╛рддрд╛рд░ рдЯреАрдо рдХреЗ рдХрд┐рд╕реА рд╡реНрдпрдХреНрддрд┐ рд╕реЗ рдЧрд▓рддреА рд╣реБрдИ рдереА, рддреНрд░реБрдЯрд┐ рдкрд░реАрдХреНрд╖рдг рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдЬрд╛ рд░рд╣реА рдереА, рдЗрд╕реЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╡рд╛рдкрд╕ рд░реЛрд▓ рдХрд░рдирд╛ рдкрдбрд╝рд╛ рдерд╛ (рдЪрд┐рдкрд╕реЗрдЯ рдХреА рдЪреЗрдХрд╕рдо рдпрд╛рдж рд╣реИ?)ред
рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП рд╢рд╛рдВрдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдмреНрд▓реЗрдХ рддрд╕реНрд╡реАрд░ рдХреЛ рдареАрдХ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред рд▓рд┐рдХреНрд╡рд┐рдмреЗрд╕ рдХреЛ рдбреЗрдЯрд╛ рдпреЛрдЬрдирд╛ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдбреЗрдЯрд╛ рдХреЛ рдЧреНрд░реВрд╡реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рдбрд╛рд▓рд╛ рдЧрдпрд╛ рдерд╛ рдЬрд┐рд╕рдореЗрдВ рд╕реНрд░реЛрдд рдХреЗ рд░реВрдк рдореЗрдВ рдЧреБрдг рдлрд╝рд╛рдЗрд▓ рдереАред

8. рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкреАрдврд╝реА рдХреЗ рдЪреЗрдВрдЬрд╕реЗрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рд▓рд┐рдкрд┐рдпреЛрдВ рдкрд░ рд╡рд┐рд╢реНрд╡рд╛рд╕ рди рдХрд░реЗрдВ


рд▓рд┐рдХрд┐рдмреЗрд╕ рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддрд╛ рд╣реИ

рдЗрди рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рд╕рд╛рд╡рдзрд╛рдиреА рдХреЗ рд╕рд╛рде рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рд╕рд┐рд░реНрдл рджрд┐рдирдЪрд░реНрдпрд╛ рд╕реЗ рдереЛрдбрд╝рд╛ рд╕рд╛ рдЫреБрдЯрдХрд╛рд░рд╛ рд╣реИ, рдЕрдм рдФрд░ рдирд╣реАрдВред рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрдХ рд╕реЗрдЯреЛрдВ рдХреЛ рджреЗрдЦрдиреЗ, рд╕рдордЭрдиреЗ рдФрд░ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЖрдк рдПрдХ рддрд╛рд░реНрдХрд┐рдХ рддреНрд░реБрдЯрд┐ (рдПрдХ рдмреЗрд╡рдХреВрдл рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЗ рдХрд╛рд░рдг) рдХреЛ рд╕рд╣реА рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬреЛ PROD рдХреЗ рдкрд╛рд╕ рдЧрдпрд╛, рд╣реИ рдирд╛?

9. рдПрдХреНрд╕рдПрдордПрд▓ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░реЗрдВ, рдбреАрдПрд╕рдПрд▓ рдХрд╛ рдирд╣реАрдВ


рдХрднреА-рдХрднреА рдЖрдк "рдЬреАрд╡рди рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ" рдФрд░ рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ DSL (groovy, yaml, json) рдХрд╛ рдЙрдкрдпреЛрдЧ рд╢реБрд░реВ рдХрд░рдХреЗ XML рдХреЛ рдЫреЛрдбрд╝ рджреЗрдВ
рдпрд╣ рд╕рдм рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ рдЬрдм рддрдХ рдЖрдк рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ:

рдЦреИрд░, рдЗрд╕ рддрд░рд╣ рдХреА рдЙрдкрдпреЛрдЧреА рдЪреАрдЬреЛрдВ рдХреЛ рд╕рдВрдХреНрд╖рд┐рдкреНрддрддрд╛ рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рдХреНрдпреЛрдВ рдЫреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдП? рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдореИрдВ рдХреЛрдб рдХреА рдереЛрдбрд╝реА рдмреЗрд╣рддрд░ рдкрдардиреАрдпрддрд╛ рдХреЗ рд▓рд┐рдП рдСрдЯреЛ-рд╕рдорд╛рдкрди рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдирд╣реАрдВ рд╣реВрдВред

10. рдХрд┐рд╕реА рдФрд░ рдХреЗ рдЕрдиреБрднрд╡ рдХреЛ рдЬрд╛рдиреЗрдВ


рд╣рд╛рд▓рд╛рдБрдХрд┐ рдореИрдВрдиреЗ рдЗрд╕ рд▓реЗрдЦ рдХреЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдмрд┐рдВрджреБрдУрдВ рдХреЛ рдЕрдкрдиреЗ рдЕрдиреБрднрд╡ рд╕реЗ рд╕реАрдЦрд╛, рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд▓рд┐рдХрд┐рдмреЗрд╕ рдмреЗрд╕реНрдЯ рдкреНрд░реИрдХреНрдЯрд┐рд╕реЗрд╕ рдЧрд╛рдЗрдб рдЯреВрд▓ рдзрд╛рд░рдгрд╛ ( рд▓рд┐рдВрдХ ) рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рддрд╛ рд╣реИ

рд╕рдлрд▓ рдкрд▓рд╛рдпрди!

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


All Articles