ಸಹಾಯ: ನಿರಂತರ ವಿತರಣೆ ಎಂದರೇನು

ಹಿಂದೆ ನಾವು ಹೇಳಿದರು ನಿರಂತರ ಏಕೀಕರಣ (CI) ಬಗ್ಗೆ. ನಿರಂತರ ವಿತರಣೆಯನ್ನು ಮುಂದುವರಿಸೋಣ. ಇದು ಸಾಫ್ಟ್‌ವೇರ್ ಅಭಿವೃದ್ಧಿ ವಿಧಾನಗಳ ಒಂದು ಸೆಟ್ ಆಗಿದೆ. ನಿಮ್ಮ ಕೋಡ್ ನಿಯೋಜನೆಗೆ ಸಿದ್ಧವಾಗಿದೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ಇದು ಸಹಾಯ ಮಾಡುತ್ತದೆ.

ಸಹಾಯ: ನಿರಂತರ ವಿತರಣೆ ಎಂದರೇನು
/ಪಿಕ್ಸಾಬೇ/ ನೀಲಿಬಡ್ಗಿ / PL

История

ನುಡಿಗಟ್ಟು ನಿರಂತರ ವಿತರಣೆಯನ್ನು ಮತ್ತೆ ನೋಡಬಹುದು ಚುರುಕುಬುದ್ಧಿಯ ಪ್ರಣಾಳಿಕೆ 2001 ರಿಂದ ಮೂಲಭೂತ ತತ್ವಗಳ ಪಟ್ಟಿಯ ಆರಂಭದಲ್ಲಿ: "ಆದ್ಯತೆಯು ನವೀಕೃತ ಸಾಫ್ಟ್‌ವೇರ್‌ನ ನಿರಂತರ ವಿತರಣೆಯ ಮೂಲಕ ಗ್ರಾಹಕರ ಸಮಸ್ಯೆಗಳನ್ನು ಪರಿಹರಿಸುವುದು."

2010 ರಲ್ಲಿ, ಜೆಜ್ ಹಂಬಲ್ ಮತ್ತು ಡೇವಿಡ್ ಫಾರ್ಲೆ ಬಿಡುಗಡೆ ಮಾಡಿದರು ಒಂದು ಪುಸ್ತಕ ನಿರಂತರ ವಿತರಣೆಯಿಂದ. ಲೇಖಕರ ಪ್ರಕಾರ, ಸಿಡಿ ವಿಧಾನಕ್ಕೆ ಪೂರಕವಾಗಿದೆ ನಿರಂತರ ಇಂಟಿಗ್ರೇಷನ್ ಮತ್ತು ನಿಯೋಜನೆಗಾಗಿ ಕೋಡ್ ತಯಾರಿಕೆಯನ್ನು ಸರಳಗೊಳಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ.

ಪುಸ್ತಕದ ಪ್ರಕಟಣೆಯ ನಂತರ, ವಿಧಾನವು ಜನಪ್ರಿಯತೆಯನ್ನು ಗಳಿಸಲು ಪ್ರಾರಂಭಿಸಿತು ಮತ್ತು ಕೇವಲ ಒಂದೆರಡು ವರ್ಷಗಳಲ್ಲಿ ಇದು ಬಹುತೇಕ ಸಾರ್ವತ್ರಿಕವಾಗಿ ಅಂಗೀಕರಿಸಲ್ಪಟ್ಟಿತು. ಈ ಪ್ರಕಾರ ಸಮೀಕ್ಷೆ, 600 ರಲ್ಲಿ 2014 ಕ್ಕೂ ಹೆಚ್ಚು ಡೆವಲಪರ್‌ಗಳು ಮತ್ತು ಐಟಿ ಮ್ಯಾನೇಜರ್‌ಗಳ ನಡುವೆ ನಡೆಸಲಾಯಿತು, 97% ತಾಂತ್ರಿಕ ವ್ಯವಸ್ಥಾಪಕರು ಮತ್ತು 84% ಪ್ರೋಗ್ರಾಮರ್‌ಗಳು ನಿರಂತರ ವಿತರಣೆಯೊಂದಿಗೆ ಪರಿಚಿತರಾಗಿದ್ದರು.

ಈಗ ಈ ವಿಧಾನವು ಅತ್ಯಂತ ಜನಪ್ರಿಯವಾಗಿದೆ. IT ಸಮುದಾಯ DevOps ಮತ್ತು ಜೆಂಕಿನ್ಸ್ ಸಮುದಾಯವನ್ನು ಒಳಗೊಂಡ 2018 ರ ಅಧ್ಯಯನದ ಪ್ರಕಾರ, ಇದು ಉಪಯೋಗಿಸುತ್ತದೆ ಸಮೀಕ್ಷೆಗೆ ಒಳಗಾದ ಸಾವಿರಕ್ಕೂ ಹೆಚ್ಚು ಪ್ರತಿಕ್ರಿಯಿಸಿದವರಲ್ಲಿ ಅರ್ಧದಷ್ಟು.

ನಿರಂತರ ವಿತರಣೆ ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ?

ಸಿಡಿ ಆಧಾರವು ನಿಯೋಜನೆಗಾಗಿ ಕೋಡ್‌ನ ಸನ್ನದ್ಧತೆಯಾಗಿದೆ. ಈ ಕಾರ್ಯವನ್ನು ಸಾಧಿಸಲು, ಬಿಡುಗಡೆಗಾಗಿ ಸಾಫ್ಟ್‌ವೇರ್ ಅನ್ನು ಸಿದ್ಧಪಡಿಸುವ ಪ್ರಕ್ರಿಯೆಯ ಯಾಂತ್ರೀಕೃತತೆಯನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. ಇದು ವಿಭಿನ್ನ ಅಭಿವೃದ್ಧಿ ಪರಿಸರದಲ್ಲಿ ಪ್ರಮಾಣಿತವಾಗಿರಬೇಕು, ಇದು ದುರ್ಬಲ ಅಂಶಗಳನ್ನು ತ್ವರಿತವಾಗಿ ಹುಡುಕಲು ಮತ್ತು ಅವುಗಳನ್ನು ಅತ್ಯುತ್ತಮವಾಗಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ಪರೀಕ್ಷೆಯನ್ನು ವೇಗಗೊಳಿಸಿ.

ನಿರಂತರ ವಿತರಣಾ ಪ್ರಕ್ರಿಯೆಯ ಉದಾಹರಣೆಯು ಈ ರೀತಿ ಕಾಣುತ್ತದೆ:

ಸಹಾಯ: ನಿರಂತರ ವಿತರಣೆ ಎಂದರೇನು

ಮೊದಲ ಎರಡು ಹಂತಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತಗೊಳಿಸಲು ನಿರಂತರ ಏಕೀಕರಣ ವಿಧಾನವು ಜವಾಬ್ದಾರರಾಗಿದ್ದರೆ, ನಂತರದ ಎರಡು ಹಂತಗಳಿಗೆ ನಿರಂತರ ವಿತರಣೆಯು ಕಾರಣವಾಗಿದೆ. ಪ್ರಕ್ರಿಯೆಯ ಸ್ಥಿರತೆಯನ್ನು ಇತರ ವಿಷಯಗಳ ಜೊತೆಗೆ ವ್ಯವಸ್ಥೆಗಳಿಂದ ಖಾತ್ರಿಪಡಿಸಲಾಗಿದೆ ಸಂರಚನಾ ನಿರ್ವಹಣೆ. ಅವರು ಮೂಲಸೌಕರ್ಯ, ಡೇಟಾಬೇಸ್‌ಗಳು ಮತ್ತು ಅವಲಂಬನೆಗಳಲ್ಲಿನ ಬದಲಾವಣೆಗಳನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡುತ್ತಾರೆ. ನಿಯೋಜನೆಯನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಅಥವಾ ಕೈಯಾರೆ ಮಾಡಬಹುದು.

ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ ಈ ಕೆಳಗಿನ ಅವಶ್ಯಕತೆಗಳನ್ನು ವಿಧಿಸಲಾಗಿದೆ:

  • ಉತ್ಪಾದನಾ ಪರಿಸರವನ್ನು ಪ್ರವೇಶಿಸಲು ಸಿದ್ಧತೆ ಮತ್ತು ತಕ್ಷಣದ ಬಿಡುಗಡೆಗೆ ಸಿದ್ಧತೆಯ ಬಗ್ಗೆ ಮಾಹಿತಿಯ ಲಭ್ಯತೆ (ಸಿಡಿ ಉಪಕರಣಗಳು ಕೋಡ್ ಅನ್ನು ಪರೀಕ್ಷಿಸಲು ಮತ್ತು ಬಿಡುಗಡೆಯಲ್ಲಿನ ಬದಲಾವಣೆಗಳ ಪರಿಣಾಮವನ್ನು ಮೌಲ್ಯಮಾಪನ ಮಾಡಲು ಸಾಧ್ಯವಾಗುವಂತೆ ಮಾಡುತ್ತದೆ).
  • ಅಂತಿಮ ಉತ್ಪನ್ನದ ಒಟ್ಟಾರೆ ಜವಾಬ್ದಾರಿ. ಉತ್ಪನ್ನ ತಂಡ - ಮ್ಯಾನೇಜರ್‌ಗಳು, ಡೆವಲಪರ್‌ಗಳು, ಪರೀಕ್ಷಕರು - ಫಲಿತಾಂಶದ ಬಗ್ಗೆ ಯೋಚಿಸಿ, ಮತ್ತು ಅವರ ಜವಾಬ್ದಾರಿಯ ಪ್ರದೇಶದ ಬಗ್ಗೆ ಮಾತ್ರವಲ್ಲ (ಫಲಿತಾಂಶವು ಉತ್ಪನ್ನದ ಬಳಕೆದಾರರಿಗೆ ಲಭ್ಯವಿರುವ ಕೆಲಸದ ಬಿಡುಗಡೆಯಾಗಿದೆ).

ಸಿಡಿಗಳಲ್ಲಿ ಇದನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ ಕೋಡ್ ವಿಮರ್ಶೆ, ಮತ್ತು ಗ್ರಾಹಕರ ಅಭಿಪ್ರಾಯಗಳನ್ನು ಸಂಗ್ರಹಿಸುವುದಕ್ಕಾಗಿ - ತತ್ವ ಡಾರ್ಕ್ ಲಾಂಚ್. ಹೊಸ ವೈಶಿಷ್ಟ್ಯವನ್ನು ಮೊದಲು ಸಣ್ಣ ಭಾಗದ ಬಳಕೆದಾರರಿಗೆ ಬಿಡುಗಡೆ ಮಾಡಲಾಗುತ್ತದೆ - ಉತ್ಪನ್ನದೊಂದಿಗೆ ಸಂವಹನ ನಡೆಸುವ ಅವರ ಅನುಭವವು ಆಂತರಿಕ ಪರೀಕ್ಷೆಯ ಸಮಯದಲ್ಲಿ ಗಮನಿಸದ ನ್ಯೂನತೆಗಳು ಮತ್ತು ದೋಷಗಳನ್ನು ಕಂಡುಹಿಡಿಯಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ.

ಏನು ಪ್ರಯೋಜನ

ನಿರಂತರ ವಿತರಣೆಯು ಕೋಡ್ ನಿಯೋಜನೆಯನ್ನು ಸರಳಗೊಳಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ, ಇದು ಉತ್ಪಾದಕತೆಯ ಮೇಲೆ ಸಕಾರಾತ್ಮಕ ಪರಿಣಾಮ ಬೀರುತ್ತದೆ ಮತ್ತು ಉದ್ಯೋಗಿ ಭಸ್ಮವಾಗುವ ಸಾಧ್ಯತೆಯನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ. ಅಂತಿಮವಾಗಿ, ಇದು ಒಟ್ಟಾರೆ ಅಭಿವೃದ್ಧಿ ವೆಚ್ಚವನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, CD HP ತಂಡಗಳಲ್ಲಿ ಒಂದಕ್ಕೆ ಸಹಾಯ ಮಾಡಿತು ಕಡಿಮೆ ಮಾಡಲು ಅಂತಹ ವೆಚ್ಚಗಳು 40%.

ಹೆಚ್ಚುವರಿಯಾಗಿ, 2016 ರ ಅಧ್ಯಯನದ ಪ್ರಕಾರ (ಪುಟ 28 ಡಾಕ್ಯುಮೆಂಟ್) - ಸಿಡಿ ಅಳವಡಿಸಿದ ಕಂಪನಿಗಳು ಮಾಹಿತಿಯನ್ನು ಬಳಸದವರಿಗಿಂತ 50% ವೇಗವಾಗಿ ಮಾಹಿತಿ ಭದ್ರತಾ ಸಮಸ್ಯೆಗಳನ್ನು ಪರಿಹರಿಸುತ್ತವೆ. ಸ್ವಲ್ಪ ಮಟ್ಟಿಗೆ, ಪ್ರಕ್ರಿಯೆಯ ಯಾಂತ್ರೀಕೃತಗೊಂಡ ಉಪಕರಣಗಳ ಕಾರ್ಯಕ್ಷಮತೆಯಿಂದ ಈ ವ್ಯತ್ಯಾಸವನ್ನು ವಿವರಿಸಬಹುದು.

ಮತ್ತೊಂದು ಪ್ಲಸ್ ಬಿಡುಗಡೆಗಳ ವೇಗವರ್ಧನೆಯಾಗಿದೆ. ಫಿನ್ನಿಷ್ ಅಭಿವೃದ್ಧಿ ಸ್ಟುಡಿಯೋದಲ್ಲಿ ನಿರಂತರ ವಿತರಣೆ ಸಹಾಯ ಮಾಡಿದೆ ಕೋಡ್ ಅಸೆಂಬ್ಲಿ ವೇಗವನ್ನು 25% ಹೆಚ್ಚಿಸಿ.

ಸಂಭಾವ್ಯ ತೊಂದರೆಗಳು

ಮೊದಲ ಮತ್ತು ಮುಖ್ಯ ಸಮಸ್ಯೆಯು ಪರಿಚಿತ ಪ್ರಕ್ರಿಯೆಗಳನ್ನು ಪುನರ್ನಿರ್ಮಿಸುವ ಅಗತ್ಯವಾಗಿದೆ. ಹೊಸ ವಿಧಾನದ ಪ್ರಯೋಜನಗಳನ್ನು ತೋರಿಸಲು, ಹೆಚ್ಚು ಕಾರ್ಮಿಕ-ತೀವ್ರವಾದ ಅಪ್ಲಿಕೇಶನ್‌ಗಳೊಂದಿಗೆ ಪ್ರಾರಂಭಿಸದೆ ಕ್ರಮೇಣ CD ಗೆ ಬದಲಾಯಿಸುವುದು ಯೋಗ್ಯವಾಗಿದೆ.

ಎರಡನೆಯ ಸಂಭಾವ್ಯ ಸಮಸ್ಯೆಯೆಂದರೆ ಹೆಚ್ಚಿನ ಸಂಖ್ಯೆಯ ಕೋಡ್ ಶಾಖೆಗಳು. "ಕವಲೊಡೆಯುವಿಕೆ" ಯ ಪರಿಣಾಮವೆಂದರೆ ಆಗಾಗ್ಗೆ ಘರ್ಷಣೆಗಳು ಮತ್ತು ಹೆಚ್ಚಿನ ಸಮಯದ ನಷ್ಟ. ಸಂಭವನೀಯ ಪರಿಹಾರ - ವಿಧಾನ ಯಾವುದೇ ಶಾಖೆಗಳಿಲ್ಲ.

ನಿರ್ದಿಷ್ಟವಾಗಿ ಹೇಳುವುದಾದರೆ, ಕೆಲವು ಕಂಪನಿಗಳಲ್ಲಿ ಪರೀಕ್ಷೆಯೊಂದಿಗೆ ಮುಖ್ಯ ತೊಂದರೆಗಳು ಉಂಟಾಗುತ್ತವೆ - ಇದು ತುಂಬಾ ಸಮಯ ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ. ಪರೀಕ್ಷಾ ಫಲಿತಾಂಶಗಳನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ಕೈಯಾರೆ ವಿಶ್ಲೇಷಿಸಬೇಕಾಗುತ್ತದೆ, ಆದರೆ CD ಅಳವಡಿಕೆಯ ಆರಂಭಿಕ ಹಂತಗಳಲ್ಲಿ ಪರೀಕ್ಷೆಗಳನ್ನು ಸಮಾನಾಂತರಗೊಳಿಸುವುದು ಸಂಭವನೀಯ ಪರಿಹಾರವಾಗಿದೆ.

ಹೊಸ ಪರಿಕರಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಲು ನೀವು ಉದ್ಯೋಗಿಗಳಿಗೆ ತರಬೇತಿ ನೀಡಬೇಕು - ಪ್ರಾಥಮಿಕ ಶೈಕ್ಷಣಿಕ ಕಾರ್ಯಕ್ರಮವು ಡೆವಲಪರ್‌ಗಳ ಶ್ರಮ ಮತ್ತು ಸಮಯವನ್ನು ಉಳಿಸುತ್ತದೆ.

ಸಹಾಯ: ನಿರಂತರ ವಿತರಣೆ ಎಂದರೇನು
/ಫ್ಲಿಕ್ಕರ್/ h.ger1969 / ಸಿಸಿ ಬೈ-ಎಸ್ಎ

ಪರಿಕರಗಳು

ನಿರಂತರ ವಿತರಣೆಗಾಗಿ ಕೆಲವು ತೆರೆದ ಪರಿಕರಗಳು ಇಲ್ಲಿವೆ:

  • GoCD - ಜಾವಾ ಮತ್ತು JRuby ಆನ್ ರೈಲ್ಸ್‌ನಲ್ಲಿ ನಿರಂತರ ವಿತರಣೆಗಾಗಿ ಸರ್ವರ್. ಸಂಪೂರ್ಣ ಅಪ್ಲಿಕೇಶನ್ ವಿತರಣಾ ಪ್ರಕ್ರಿಯೆಯನ್ನು ನಿಯಂತ್ರಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ: ಬಿಲ್ಡ್-ಟೆಸ್ಟ್-ಬಿಡುಗಡೆ. ಉಪಕರಣವನ್ನು Apache 2.0 ಪರವಾನಗಿ ಅಡಿಯಲ್ಲಿ ವಿತರಿಸಲಾಗಿದೆ. ನೀವು ಅದನ್ನು ಅಧಿಕೃತ ವೆಬ್‌ಸೈಟ್‌ನಲ್ಲಿ ಕಾಣಬಹುದು ಸೆಟಪ್ ಮಾರ್ಗದರ್ಶಿ.
  • ಕ್ಯಾಪಿಸ್ಟ್ರಾನೋ - ರೂಬಿ, ಜಾವಾ ಅಥವಾ ಪಿಎಚ್‌ಪಿಯಲ್ಲಿ ಅಪ್ಲಿಕೇಶನ್‌ಗಳ ನಿಯೋಜನೆಯನ್ನು ಸ್ವಯಂಚಾಲಿತಗೊಳಿಸುವ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳನ್ನು ರಚಿಸುವ ಚೌಕಟ್ಟು. ಕ್ಯಾಪಿಸ್ಟ್ರಾನೊಗೆ SSH ಮೂಲಕ ಸಂಪರ್ಕಿಸುವ ಮೂಲಕ ರಿಮೋಟ್ ಗಣಕದಲ್ಲಿ ಆಜ್ಞೆಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ. ಇಂಟೆಗ್ರಿಟಿ CI ಸರ್ವರ್‌ನಂತಹ ಇತರ ನಿರಂತರ ಏಕೀಕರಣ ಮತ್ತು ವಿತರಣಾ ಸಾಧನಗಳೊಂದಿಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ.
  • ಗ್ರ್ಯಾಡ್ಲ್ ಸಂಪೂರ್ಣ ಅಪ್ಲಿಕೇಶನ್ ಅಭಿವೃದ್ಧಿ ಚಕ್ರವನ್ನು ಸ್ವಯಂಚಾಲಿತಗೊಳಿಸುವ ಬಹು-ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ ಸಾಧನವಾಗಿದೆ. ಜಾವಾ, ಪೈಥಾನ್, C/C++, Scala, ಇತ್ಯಾದಿಗಳೊಂದಿಗೆ Gradle ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ. Eclipse, IntelliJ ಮತ್ತು Jenkins ನೊಂದಿಗೆ ಏಕೀಕರಣವಿದೆ.
  • ಡ್ರೋನ್ - ಗೋ ಭಾಷೆಯಲ್ಲಿ ಸಿಡಿ ವೇದಿಕೆ. ಡ್ರೋನ್ ಅನ್ನು ಆವರಣದಲ್ಲಿ ಅಥವಾ ಕ್ಲೌಡ್‌ನಲ್ಲಿ ನಿಯೋಜಿಸಬಹುದು. ಉಪಕರಣವನ್ನು ಕಂಟೈನರ್‌ಗಳ ಮೇಲೆ ನಿರ್ಮಿಸಲಾಗಿದೆ ಮತ್ತು ಅವುಗಳನ್ನು ನಿರ್ವಹಿಸಲು YAML ಫೈಲ್‌ಗಳನ್ನು ಬಳಸುತ್ತದೆ.
  • ಸ್ಪಿನ್ನೇಕರ್ - ಬಹು-ಕ್ಲೌಡ್ ವ್ಯವಸ್ಥೆಗಳಲ್ಲಿ ನಿರಂತರ ಕೋಡ್ ವಿತರಣೆಗೆ ವೇದಿಕೆ. ನೆಟ್‌ಫ್ಲಿಕ್ಸ್ ಅಭಿವೃದ್ಧಿಪಡಿಸಿದ, ಗೂಗಲ್ ಎಂಜಿನಿಯರ್‌ಗಳು ಉಪಕರಣದ ಅಭಿವೃದ್ಧಿಯಲ್ಲಿ ದೊಡ್ಡ ಪಾತ್ರವನ್ನು ವಹಿಸಿದ್ದಾರೆ. ಅನುಸ್ಥಾಪನಾ ಸೂಚನೆಗಳು ಅದನ್ನು ಅಧಿಕೃತ ವೆಬ್‌ಸೈಟ್‌ನಲ್ಲಿ ಹುಡುಕಿ.

ನಮ್ಮ ಕಾರ್ಪೊರೇಟ್ ಬ್ಲಾಗ್‌ನಲ್ಲಿ ಏನು ಓದಬೇಕು:

ಮೂಲ: www.habr.com

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ