Hacker News

ಬಿಲ್ಡ್‌ಕಿಟ್: ಬಹುತೇಕ ಯಾವುದನ್ನಾದರೂ ನಿರ್ಮಿಸಬಲ್ಲ ಡಾಕರ್‌ನ ಹಿಡನ್ ಜೆಮ್

ಕಾಮೆಂಟ್‌ಗಳು

2 min read Via tuananh.net

Mewayz Team

Editorial Team

Hacker News

ಬಿಲ್ಡ್‌ಕಿಟ್: ಬಹುತೇಕ ಏನನ್ನೂ ನಿರ್ಮಿಸಬಲ್ಲ ಡಾಕರ್‌ನ ಹಿಡನ್ ರತ್ನ

ಹೆಚ್ಚಿನ ಡೆವಲಪರ್‌ಗಳು ಡಾಕರ್ ಅನ್ನು ಕಂಟೇನರ್ ರನ್‌ಟೈಮ್ ಎಂದು ತಿಳಿದಿದ್ದಾರೆ, ಅದು ಸಾಫ್ಟ್‌ವೇರ್ ಅನ್ನು ಹೇಗೆ ರವಾನಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ಬದಲಾಯಿಸಿತು. ಪ್ರತಿ ಆಧುನಿಕ ಡಾಕರ್ ಬಿಲ್ಡ್‌ನ ಮೇಲ್ಮೈ ಕೆಳಗೆ ಸದ್ದಿಲ್ಲದೆ ಗುನುಗುವ ಎಂಜಿನ್ ಬಗ್ಗೆ ಬಹಳ ಕಡಿಮೆ ಜನರಿಗೆ ತಿಳಿದಿದೆ - ಬಿಲ್ಡ್‌ಕಿಟ್, ಮುಂದಿನ ಪೀಳಿಗೆಯ ಬಿಲ್ಡ್ ಸಿಸ್ಟಮ್, ಇದು ಆವೃತ್ತಿ 18.09 ರಿಂದ ಡಾಕರ್‌ನೊಂದಿಗೆ ರವಾನೆಯಾಗುತ್ತಿದೆ ಮತ್ತು ಡಾಕರ್ 23.0 ನಲ್ಲಿ ಡೀಫಾಲ್ಟ್ ಬ್ಯಾಕೆಂಡ್ ಆಗಿದೆ. ಇಂಜಿನಿಯರ್‌ಗಳು ಕುಬರ್ನೆಟ್ಸ್ ಕಾನ್ಫಿಗರೇಶನ್‌ಗಳು ಮತ್ತು ಮೈಕ್ರೊ ಸರ್ವಿಸ್ ಪ್ಯಾಟರ್ನ್‌ಗಳ ಬಗ್ಗೆ ಅನಂತವಾಗಿ ವಾದಿಸುತ್ತಾರೆ, BuildKit DevOps ಪರಿಸರ ವ್ಯವಸ್ಥೆಯಲ್ಲಿ ಅತ್ಯಂತ ಶಕ್ತಿಶಾಲಿ, ಹೊಂದಿಕೊಳ್ಳುವ ನಿರ್ಮಾಣ ವ್ಯವಸ್ಥೆಗಳಲ್ಲಿ ಒಂದಾಗಿ ಸ್ಥಿರವಾಗಿ ವಿಕಸನಗೊಳ್ಳುತ್ತಿದೆ. ನೀವು ಅದನ್ನು ವೇಗವಾದ <ಕೋಡ್>ಡಾಕರ್ ಬಿಲ್ಡ್ ಎಂದು ಪರಿಗಣಿಸುತ್ತಿದ್ದರೆ, ನೀವು ಮೇಜಿನ ಮೇಲೆ ಅಗಾಧ ಸಾಮರ್ಥ್ಯವನ್ನು ಬಿಡುತ್ತಿರುವಿರಿ. ಹೈ-ಥ್ರೂಪುಟ್ CI/CD ಪೈಪ್‌ಲೈನ್‌ಗಳನ್ನು ನಡೆಸುತ್ತಿರುವ ಕಂಪನಿಗಳು ಬಿಲ್ಡ್‌ಕಿಟ್ ನಿಜವಾಗಿ ಏನನ್ನು ನೀಡುತ್ತದೆ ಎಂಬುದನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವ ಮೂಲಕ ನಿರ್ಮಾಣ ಸಮಯವನ್ನು 50-70% ರಷ್ಟು ಕಡಿತಗೊಳಿಸಿದೆ - ಮತ್ತು ಇದು ಕೇವಲ ಪ್ರಾರಂಭವಾಗಿದೆ.

ಕ್ಲಾಸಿಕ್ ಬಿಲ್ಡರ್‌ನಿಂದ ಬಿಲ್ಡ್‌ಕಿಟ್ ಮೂಲಭೂತವಾಗಿ ವಿಭಿನ್ನವಾಗಿಸುತ್ತದೆ

ಮೂಲ ಡಾಕರ್ ಬಿಲ್ಡ್ ಇಂಜಿನ್ ಡಾಕರ್‌ಫೈಲ್ ಸೂಚನೆಗಳನ್ನು ಅನುಕ್ರಮವಾಗಿ ಕಾರ್ಯಗತಗೊಳಿಸಿದೆ, ಒಂದು ಸಮಯದಲ್ಲಿ ಒಂದು ಲೇಯರ್, ಸಮಾನಾಂತರವಾಗಿ ಯಾವ ಕೆಲಸವು ಸುರಕ್ಷಿತವಾಗಿ ಸಂಭವಿಸಬಹುದು ಎಂಬುದರ ಬಗ್ಗೆ ಯಾವುದೇ ಅರಿವಿಲ್ಲ. ಬಿಲ್ಡ್‌ಕಿಟ್ ಆ ಲೀನಿಯರ್ ಎಕ್ಸಿಕ್ಯೂಶನ್ ಮಾದರಿಯನ್ನು ಡೈರೆಕ್ಟ್ ಅಸಿಕ್ಲಿಕ್ ಗ್ರಾಫ್ (ಡಿಎಜಿ) ನೊಂದಿಗೆ ಬದಲಾಯಿಸುತ್ತದೆ - ಯಾವ ನಿರ್ಮಾಣ ಹಂತಗಳು ಒಂದಕ್ಕೊಂದು ಅವಲಂಬಿತವಾಗಿವೆ ಮತ್ತು ಯಾವುದನ್ನು ಅವಲಂಬಿಸಿಲ್ಲ ಎಂಬುದನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವ ಅವಲಂಬನೆ ಗ್ರಾಫ್. ಸ್ವತಂತ್ರ ಹಂತಗಳು ಏಕಕಾಲದಲ್ಲಿ ಕಾರ್ಯಗತಗೊಳ್ಳುತ್ತವೆ, ಬಳಕೆಯಾಗದ ಹಂತಗಳನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ಬಿಟ್ಟುಬಿಡಲಾಗುತ್ತದೆ ಮತ್ತು ಸಂಪೂರ್ಣ ನಿರ್ಮಾಣವು ನೀವು ಸರಿಯಾದ ಕ್ರಮದಲ್ಲಿ ಪಠಿಸಬೇಕಾದ ಹಂತಗಳ ಕಡ್ಡಾಯ ಅನುಕ್ರಮಕ್ಕಿಂತ ಹೆಚ್ಚಾಗಿ ನಿಮಗೆ ಬೇಕಾದುದನ್ನು ಘೋಷಣಾತ್ಮಕ ವಿವರಣೆಯಾಗಿದೆ.

ಈ ವಾಸ್ತುಶಿಲ್ಪದ ಬದಲಾವಣೆಯು ವೇಗವನ್ನು ಮೀರಿದ ಪ್ರಾಯೋಗಿಕ ಪರಿಣಾಮಗಳನ್ನು ಹೊಂದಿದೆ. ಬಹು-ಹಂತದ ಡಾಕರ್‌ಫೈಲ್ ಒಂದು ಹಂತದಲ್ಲಿ Go ಬೈನರಿಯನ್ನು ಕಂಪೈಲ್ ಮಾಡಿದಾಗ, ಇನ್ನೊಂದು ಹಂತದಲ್ಲಿ Node.js ಅವಲಂಬನೆಗಳನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡುತ್ತದೆ ಮತ್ತು ಮೂರನೇ ಹಂತದಲ್ಲಿ ನಿರ್ಮಾಣ ಚಿತ್ರವನ್ನು ಜೋಡಿಸಿದಾಗ, BuildKit ಮೊದಲ ಎರಡು ಹಂತಗಳನ್ನು ಏಕಕಾಲದಲ್ಲಿ ರನ್ ಮಾಡಬಹುದು. ಶಕ್ತಿಶಾಲಿ CI ರನ್ನರ್‌ನಲ್ಲಿ ಹಿಂದೆ ನಾಲ್ಕು ನಿಮಿಷಗಳನ್ನು ತೆಗೆದುಕೊಂಡ ನಿರ್ಮಾಣವು ಈಗ ತೊಂಬತ್ತು ಸೆಕೆಂಡುಗಳಲ್ಲಿ ಪೂರ್ಣಗೊಳ್ಳುತ್ತದೆ. ಸ್ಟ್ರೈಪ್, Shopify, ಮತ್ತು ಇತರ ಉನ್ನತ-ಪ್ರಮಾಣದ ಎಂಜಿನಿಯರಿಂಗ್ ತಂಡಗಳ ಸ್ಕೋರ್‌ಗಳು ತಮ್ಮ ಆಂತರಿಕ ಟೂಲಿಂಗ್ ರೆಟ್ರೋಸ್ಪೆಕ್ಟಿವ್‌ಗಳಲ್ಲಿ ಇದೇ ರೀತಿಯ ಲಾಭಗಳನ್ನು ದಾಖಲಿಸಿವೆ. DAG ಮಾದರಿ ಎಂದರೆ BuildKit ಹೆಚ್ಚು ನಿಖರವಾದ ಬಿಲ್ಡ್ ಮೆಟಾಡೇಟಾವನ್ನು ರಚಿಸಬಹುದು - ಮೂಲ ದೃಢೀಕರಣಗಳು ಮತ್ತು ಸರಬರಾಜು ಸರಪಳಿ ಭದ್ರತೆಗೆ ಅಗಾಧವಾಗಿ ಮುಖ್ಯವಾದ ವಸ್ತುಗಳ ಸಾಫ್ಟ್‌ವೇರ್ ಬಿಲ್ (SBOM) ಉತ್ಪಾದನೆಯಂತಹ ವೈಶಿಷ್ಟ್ಯಗಳಿಗೆ ಅಡಿಪಾಯ.

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

ಮಲ್ಟಿ-ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ ಬಿಲ್ಡ್‌ಗಳು: ಒಂದು ಕಮಾಂಡ್, ಪ್ರತಿ ಆರ್ಕಿಟೆಕ್ಚರ್

BuildKit ನ --ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ ಫ್ಲ್ಯಾಗ್ ಮತ್ತು QEMU ಏಕೀಕರಣವು ಒಂದು ಕಾಲದಲ್ಲಿ ನೋವಿನ ಬಹು-ವ್ಯವಸ್ಥೆಯ ಸಮನ್ವಯ ಸಮಸ್ಯೆಯನ್ನು ಒಂದೇ ಆಜ್ಞೆಯಾಗಿ ಪರಿವರ್ತಿಸುತ್ತದೆ. docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 . ಅನ್ನು ಚಾಲನೆ ಮಾಡುವುದರಿಂದ ಒಂದೇ ನಿರ್ಮಾಣದ ಆಹ್ವಾನದಿಂದ ಸಮಾನಾಂತರವಾಗಿ ಮೂರು ಉತ್ಪಾದನೆ-ಸಿದ್ಧ ಚಿತ್ರಗಳನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ. ಉದ್ಯಮವು ARM ಕಡೆಗೆ ಬದಲಾದಂತೆ ಈ ಸಾಮರ್ಥ್ಯವು ನಿರ್ಣಾಯಕವಾಗಿದೆ - AWS Graviton3 ನಿದರ್ಶನಗಳು ವೆಬ್ ಸರ್ವಿಂಗ್ ಮತ್ತು ಡೇಟಾ ಸಂಸ್ಕರಣೆಯಂತಹ ಕೆಲಸದ ಹೊರೆಗಳಲ್ಲಿ 40% ಉತ್ತಮ ಬೆಲೆ-ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಸ್ಥಿರವಾಗಿ ನೀಡುತ್ತವೆ ಮತ್ತು Apple Silicon ARM ಅನ್ನು ಲಕ್ಷಾಂತರ ಎಂಜಿನಿಯರ್‌ಗಳಿಗೆ ಡೀಫಾಲ್ಟ್ ಅಭಿವೃದ್ಧಿ ಯಂತ್ರವನ್ನಾಗಿ ಮಾಡಿದೆ.

ಬಿಲ್ಡ್‌ಕಿಟ್‌ನ ಬಹು-ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ ಬೆಂಬಲವು ಪಕ್ವಗೊಳ್ಳುವ ಮೊದಲು, ವಿಭಿನ್ನ ಆರ್ಕಿಟೆಕ್ಚರ್‌ಗಳಿಗಾಗಿ ಪ್ರತ್ಯೇಕ ನಿರ್ಮಾಣ ಪೈಪ್‌ಲೈನ್‌ಗಳನ್ನು ನಿರ್ವಹಿಸುವುದು ನಿಜವಾದ ವೆಚ್ಚದ ಕೇಂದ್ರವಾಗಿತ್ತು. ತಂಡಗಳು ಬಹು ಡಾಕರ್‌ಫೈಲ್‌ಗಳನ್ನು ನಿರ್ವಹಿಸುತ್ತವೆ, ವಿಭಿನ್ನವಾಗಿ-ಆರ್ಕಿಟೆಕ್ಟ್ ಮಾಡಿದ ಓಟಗಾರರ ಮೇಲೆ ಪ್ರತ್ಯೇಕ CI ಪೈಪ್‌ಲೈನ್‌ಗಳನ್ನು ನಡೆಸುತ್ತವೆ, ಅಥವಾ ಸರಳವಾಗಿ x86 ಚಿತ್ರಗಳನ್ನು ಎಲ್ಲೆಡೆ ರವಾನಿಸುತ್ತವೆ ಮತ್ತು ARM ಮೂಲಸೌಕರ್ಯದಲ್ಲಿ ಕಾರ್ಯಕ್ಷಮತೆಯ ದಂಡವನ್ನು ಪಾವತಿಸಿದವು. BuildKit ನೊಂದಿಗೆ, ನಿಮ್ಮ ನಿರ್ಮಾಣವನ್ನು ಒಮ್ಮೆ ನೀವು ವ್ಯಾಖ್ಯಾನಿಸುತ್ತೀರಿ ಮತ್ತು ಸಿಸ್ಟಮ್ ಆರ್ಕಿಟೆಕ್ಚರ್-ನಿರ್ದಿಷ್ಟ ಸಂಕಲನವನ್ನು ಪಾರದರ್ಶಕವಾಗಿ ನಿರ್ವಹಿಸಲು ಅವಕಾಶ ಮಾಡಿಕೊಡಿ. ಕ್ರಾಸ್-ಕಂಪೈಲೇಶನ್ ಅಗತ್ಯವಿರುವ ರಸ್ಟ್ ಪ್ರಾಜೆಕ್ಟ್‌ಗಳು, CGO ಅವಲಂಬನೆಗಳೊಂದಿಗೆ Go ಯೋಜನೆಗಳು, C ವಿಸ್ತರಣೆಗಳೊಂದಿಗೆ ಪೈಥಾನ್ ಪ್ಯಾಕೇಜುಗಳು — BuildKit ನೀವು ಪ್ರತಿ ಟಾರ್ಗೆಟ್ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ನ ವಿವರಗಳನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವ ಅಗತ್ಯವಿಲ್ಲದೇ ಎಮ್ಯುಲೇಶನ್ ಲೇಯರ್ ಅನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ.

ಇಲ್ಲಿ ಪ್ರಾಯೋಗಿಕ ವ್ಯಾಪಾರ ಮೌಲ್ಯವನ್ನು ಅಳೆಯಬಹುದಾಗಿದೆ. AWS Graviton ನಿದರ್ಶನಗಳಲ್ಲಿ ಪ್ರತಿ vCPU-ಗಂಟೆಗೆ $0.04 ರಂತೆ 200 ಕಂಟೇನರ್‌ಗಳನ್ನು ನಡೆಸುತ್ತಿರುವ ತಂಡವು ಪ್ರತಿ vCPU-ಗಂಟೆಗೆ $0.056 ಕ್ಕೆ ಸಮಾನವಾದ x86 ನಿದರ್ಶನಕ್ಕೆ ಪ್ರತಿ 100 vCPU ಗಳಿಗೆ ವಾರ್ಷಿಕವಾಗಿ ಸುಮಾರು $11,520 ಉಳಿಸುತ್ತದೆ - ಸಂಪೂರ್ಣವಾಗಿ ಸರಿಯಾದ ವಾಸ್ತುಶಿಲ್ಪವನ್ನು ಆರಿಸುವುದರಿಂದ. ಮರು-ಎಂಜಿನಿಯರಿಂಗ್ ಪ್ರಯತ್ನವಿಲ್ಲದೆಯೇ ಆ ಆಯ್ಕೆಯನ್ನು ಪ್ರವೇಶಿಸುವಂತೆ ಮಾಡುವುದು ನಿಖರವಾಗಿ ತಕ್ಷಣವೇ ಪಾವತಿಸುವ ಮೂಲಸೌಕರ್ಯ ಆಪ್ಟಿಮೈಸೇಶನ್ ಆಗಿದೆ.

ಇಮೇಜ್ ಲೇಯರ್‌ಗಳಿಗೆ ಸೋರಿಕೆಯಾಗದಂತೆ ರಹಸ್ಯ ನಿರ್ವಹಣೆ

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

BuildKit ನ --secret ಫ್ಲ್ಯಾಗ್ ಸೂಕ್ಷ್ಮ ಡೇಟಾವನ್ನು ಬಿಲ್ಡ್ ಪರಿಸರಕ್ಕೆ ತಾತ್ಕಾಲಿಕ ಫೈಲ್‌ಸಿಸ್ಟಮ್ ಮಾರ್ಗವಾಗಿ ಆರೋಹಿಸುತ್ತದೆ, ಅದು ನಿರ್ದಿಷ್ಟ RUN ಸೂಚನೆಯ ಅವಧಿಗೆ ಮಾತ್ರ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವುದು ಮತ್ತು ಯಾವುದೇ ಇಮೇಜ್ ಲೇಯರ್ ಅನ್ನು ಮುಟ್ಟುವುದಿಲ್ಲ. RUN --mount=type=secret,id=npmrc cat /run/secrets/npmrc > ~/.npmrc && npm install ನಂತಹ ಡಾಕರ್‌ಫೈಲ್ ಸೂಚನೆಯು ಖಾಸಗಿ npm ರುಜುವಾತುಗಳನ್ನು ನಿರ್ಮಿಸುವ ಪ್ರಕ್ರಿಯೆಗೆ ಪ್ರವೇಶವನ್ನು ನೀಡುತ್ತದೆ. PyPI ರುಜುವಾತುಗಳು, ಮಾವೆನ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳು, ಖಾಸಗಿ Git ರೆಪೊಸಿಟರಿಗಳಿಗಾಗಿ SSH ಕೀಗಳು ಮತ್ತು ನಿಮ್ಮ ನಿರ್ಮಾಣ ಪ್ರಕ್ರಿಯೆಗೆ ಅಗತ್ಯವಿರುವ ಯಾವುದೇ ಇತರ ಸೂಕ್ಷ್ಮ ವಸ್ತುಗಳಿಗೆ ಅದೇ ಮಾದರಿಯು ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ.

ನಿಯಂತ್ರಿತ ಕೈಗಾರಿಕೆಗಳನ್ನು ಸ್ಪರ್ಶಿಸುವ ಸಾಫ್ಟ್‌ವೇರ್‌ಗಳನ್ನು ನಿರ್ಮಿಸುವ ತಂಡಗಳಿಗೆ - ಆರೋಗ್ಯ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ಗಳು, ಫಿನ್‌ಟೆಕ್ ಉತ್ಪನ್ನಗಳು, ಎಚ್‌ಆರ್ ಸಾಫ್ಟ್‌ವೇರ್ - "ರುಜುವಾತುಗಳು ಚಿತ್ರದಲ್ಲಿರಬಹುದು" ಮತ್ತು "ರುಜುವಾತುಗಳು ಚಿತ್ರದಲ್ಲಿರಲು ಸಾಧ್ಯವಿಲ್ಲ" ನಡುವಿನ ವ್ಯತ್ಯಾಸವು ಭದ್ರತಾ ಲೆಕ್ಕಪರಿಶೋಧನೆಯನ್ನು ಹಾದುಹೋಗುವ ಮತ್ತು ಮೂರು ವಾರಗಳ ಸಂಶೋಧನೆಗಳನ್ನು ಸರಿಪಡಿಸುವ ನಡುವಿನ ವ್ಯತ್ಯಾಸವಾಗಿದೆ. Mewayz ನಂತಹ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ಗಳು, ವೇತನದಾರರ ಪಟ್ಟಿ, HR ಮತ್ತು ಇನ್‌ವಾಯ್ಸಿಂಗ್‌ನಂತಹ ಉದ್ಯಮಗಳಾದ್ಯಂತ 138,000 ಕ್ಕೂ ಹೆಚ್ಚು ಬಳಕೆದಾರರಿಗೆ ವ್ಯಾಪಾರ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ನಡೆಸುತ್ತದೆ, ಗ್ರಾಹಕರು ತಮ್ಮ ಸೂಕ್ಷ್ಮ ಹಣಕಾಸು ಮತ್ತು ಸಿಬ್ಬಂದಿ ಡೇಟಾಗೆ ವಿಸ್ತರಿಸುವ ನಂಬಿಕೆಯನ್ನು ಕಾಪಾಡಿಕೊಳ್ಳಲು ತಮ್ಮ ನಿರ್ಮಾಣ ಮತ್ತು ನಿಯೋಜನೆ ಪೈಪ್‌ಲೈನ್‌ಗಳಲ್ಲಿ ನಿಖರವಾಗಿ ಈ ರೀತಿಯ ಸಾಬೀತುಪಡಿಸಬಹುದಾದ ಭದ್ರತಾ ಭಂಗಿಯನ್ನು ಅವಲಂಬಿಸಿರುತ್ತದೆ.

ಸಂಗ್ರಹ ರಫ್ತುಗಳು: CI ಪೈಪ್‌ಲೈನ್‌ಗಳನ್ನು ವಾಸ್ತವವಾಗಿ ವೇಗವಾಗಿ ಮಾಡುವುದು

CI ಪೈಪ್‌ಲೈನ್‌ಗಳು ನಿರ್ಮಾಣ ಕಾರ್ಯನಿರ್ವಹಣೆಗೆ ಹೆಚ್ಚಿನ ಪ್ರಾಮುಖ್ಯತೆಯನ್ನು ನೀಡುತ್ತವೆ ಮತ್ತು ಡೀಫಾಲ್ಟ್ ಡಾಕರ್ ನಿರ್ಮಾಣ ಅನುಭವವು ಐತಿಹಾಸಿಕವಾಗಿ ಹೆಚ್ಚು ನೋವಿನಿಂದ ಕೂಡಿದೆ. ತಾಜಾ CI ಓಟಗಾರರು ಸಾಮಾನ್ಯವಾಗಿ ಖಾಲಿ ಕ್ಯಾಶ್‌ಗಳೊಂದಿಗೆ ಪ್ರಾರಂಭಿಸುತ್ತಾರೆ, ಅಂದರೆ ಪ್ರತಿ ಪೈಪ್‌ಲೈನ್ ರನ್ ಮೊದಲಿನಿಂದಲೂ ಎಲ್ಲವನ್ನೂ ಮರುಸಂಕಲಿಸುತ್ತದೆ. ನೂರಾರು ಮಾವೆನ್ ಅವಲಂಬನೆಗಳು, ರಸ್ಟ್ ಪ್ರಾಜೆಕ್ಟ್ ಅಥವಾ ಭಾರೀ ಸ್ಥಳೀಯ ವಿಸ್ತರಣೆಗಳೊಂದಿಗೆ ಪೈಥಾನ್ ಅಪ್ಲಿಕೇಶನ್‌ನೊಂದಿಗೆ ಜಾವಾ ಸೇವೆಗಾಗಿ, ಸೆಕೆಂಡುಗಳಿಗಿಂತ ಹತ್ತಾರು ನಿಮಿಷಗಳಲ್ಲಿ ಅಳೆಯುವ ಸಮಯವನ್ನು ನಿರ್ಮಿಸುವುದು ಎಂದರ್ಥ. ನಿಧಾನಗತಿಯ CI ಯ ವ್ಯವಹಾರದ ವೆಚ್ಚವು ಅಗಾಧವಾಗಿದೆ - ಕಡಿಮೆ ನಿಯೋಜನೆ ಆವರ್ತನ, ದೀರ್ಘ ಪ್ರತಿಕ್ರಿಯೆ ಲೂಪ್‌ಗಳು ಮತ್ತು ವಿಲೀನಗೊಳ್ಳುವ ಮತ್ತು ಮುಂದುವರಿಯುವ ಮೊದಲು ಪೈಪ್‌ಲೈನ್‌ಗಳು ಪೂರ್ಣಗೊಳ್ಳುವವರೆಗೆ ನಿಷ್ಫಲವಾಗಿ ಕುಳಿತಿರುವ ಎಂಜಿನಿಯರ್‌ಗಳು.

BuildKit ನ ಸಂಗ್ರಹ ರಫ್ತು ವೈಶಿಷ್ಟ್ಯವು ರಫ್ತು ಮಾಡಬಹುದಾದ ಸಂಗ್ರಹ ಮ್ಯಾನಿಫೆಸ್ಟ್‌ಗಳೊಂದಿಗೆ ಇದನ್ನು ಪರಿಹರಿಸುತ್ತದೆ. --cache-to type=registry,ref=myregistry/myapp:cache ಮತ್ತು --cache-from type=registry,ref=myregistry/myapp:cache ಅನ್ನು ಬಳಸಿಕೊಂಡು, BuildKit ವಿವರವಾದ ಸಂಗ್ರಹ ಸ್ನ್ಯಾಪ್‌ಶಾಟ್ ಅನ್ನು ಪ್ರತಿ ಬಿಲ್ಡ್‌ನ ಪ್ರಾರಂಭದಲ್ಲಿ ಎಳೆದ ನಂತರ ಅದನ್ನು ಎಳೆಯುತ್ತದೆ. ಸಂಗ್ರಹವು ವಿಷಯ-ವಿಳಾಸವನ್ನು ಹೊಂದಿದೆ, ಆದ್ದರಿಂದ ನಿಜವಾದ ಬದಲಾದ ಲೇಯರ್‌ಗಳನ್ನು ಮಾತ್ರ ಮರು-ಪಡೆಯಲಾಗುತ್ತದೆ. GitHub ಕ್ರಿಯೆಗಳು, GitLab CI, ಮತ್ತು CircleCI ನಲ್ಲಿ ಈ ಮಾದರಿಯನ್ನು ಬಳಸುವ ತಂಡಗಳು ನಂತರದ ರನ್‌ಗಳಲ್ಲಿ ಪೈಪ್‌ಲೈನ್ ಸಮಯವನ್ನು ಹದಿನೈದು ನಿಮಿಷಗಳಿಂದ ಮೂರಕ್ಕಿಂತ ಕಡಿಮೆ ಅವಧಿಗೆ ಕಡಿತಗೊಳಿಸುತ್ತವೆ. ಸುಧಾರಿತ ಡಾಕರ್ ಬಿಲ್ಡ್ ವರ್ಕ್‌ಫ್ಲೋಗಳಲ್ಲಿ GitHub ನ ಸ್ವಂತ ದಾಖಲಾತಿಯು ನಿಖರವಾಗಿ ಈ ಕಾರಣಕ್ಕಾಗಿ ಈ ಮಾದರಿಯನ್ನು ಹೆಚ್ಚು ಶಿಫಾರಸು ಮಾಡುತ್ತದೆ.

ವೇಗದ ನಿರ್ಮಾಣವೆಂದರೆ ನೀವು ಮತ್ತೆ ಎಂದಿಗೂ ರನ್ ಮಾಡಬೇಕಾಗಿಲ್ಲ. BuildKit ನ ಲೇಯರ್ಡ್, ವಿಷಯ-ವಿಳಾಸ ಸಂಗ್ರಹ ವ್ಯವಸ್ಥೆಯು ಬಿಲ್ಡ್‌ಗಳನ್ನು ವೇಗಗೊಳಿಸುವುದಿಲ್ಲ - ಇದು "ಬಿಲ್ಡ್" ನ ಸಂಪೂರ್ಣ ಪರಿಕಲ್ಪನೆಯನ್ನು ಚುರುಕುಗೊಳಿಸುತ್ತದೆ, ಪುನರಾವರ್ತಿತ ಸಂಕಲನವನ್ನು ನಿಖರವಾಗಿ ಏನು ಬದಲಾಗಿದೆ ಎಂಬುದರ ಹೆಚ್ಚಳದ ವ್ಯತ್ಯಾಸವಾಗಿ ಪರಿವರ್ತಿಸುತ್ತದೆ.

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

💡 DID YOU KNOW?

Mewayz replaces 8+ business tools in one platform

CRM · Invoicing · HR · Projects · Booking · eCommerce · POS · Analytics. Free forever plan available.

Start Free →

ಬಿಲ್ಡ್‌ಕಿಟ್ ಮುಂಭಾಗಗಳು: ಡಾಕರ್‌ಫೈಲ್‌ಗಳನ್ನು ಮೀರಿದ ಕಟ್ಟಡ

ಬಹುಶಃ ಬಿಲ್ಡ್‌ಕಿಟ್‌ನ ಕಡಿಮೆ-ತಿಳಿದಿರುವ ಸಾಮರ್ಥ್ಯವೆಂದರೆ ಡಾಕರ್‌ಫೈಲ್‌ಗಳು ಕೇವಲ ಒಂದು ಸಂಭವನೀಯ ಇನ್‌ಪುಟ್ ಫಾರ್ಮ್ಯಾಟ್ - ಒಂದೇ ಅಲ್ಲ. ಬಿಲ್ಡ್‌ಕಿಟ್ ಸಂಪೂರ್ಣವಾಗಿ ಕಸ್ಟಮ್ ಬಿಲ್ಡ್ ಡೆಫಿನಿಷನ್ ಭಾಷೆಗಳು ಮತ್ತು ಫಾರ್ಮ್ಯಾಟ್‌ಗಳನ್ನು ಅನುಮತಿಸುವ ಪ್ಲಗ್ ಮಾಡಬಹುದಾದ ಮುಂಭಾಗದ ಆರ್ಕಿಟೆಕ್ಚರ್ ಅನ್ನು ಹೊಂದಿದೆ. ಮುಂಭಾಗವನ್ನು ನಿಮ್ಮ ಬಿಲ್ಡ್ ಫೈಲ್‌ನ ಮೇಲ್ಭಾಗದಲ್ಲಿರುವ # ಸಿಂಟ್ಯಾಕ್ಸ್= ನಿರ್ದೇಶನದಿಂದ ನಿರ್ದಿಷ್ಟಪಡಿಸಲಾಗಿದೆ, ಇದು ಬಿಲ್ಡ್‌ಕಿಟ್‌ಗೆ ನಿರ್ದಿಷ್ಟ ಮುಂಭಾಗದ ಚಿತ್ರವನ್ನು ಎಳೆಯಲು ಮತ್ತು ಉಳಿದ ಫೈಲ್ ಅನ್ನು ಪಾರ್ಸ್ ಮಾಡಲು ಮತ್ತು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಅದನ್ನು ಬಳಸಲು ಹೇಳುತ್ತದೆ.

ಈ ಆರ್ಕಿಟೆಕ್ಚರ್ ಹಲವಾರು ಬಲವಾದ ಯೋಜನೆಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿದೆ. ಬಿಲ್ಡ್‌ಪ್ಯಾಕ್‌ಗಳ ಏಕೀಕರಣವು ಯಾವುದೇ ಡಾಕರ್‌ಫೈಲ್ ಇಲ್ಲದೆಯೇ ಅಪ್ಲಿಕೇಶನ್ ಮೂಲ ಕೋಡ್‌ನಿಂದ ಕಂಟೇನರ್ ಚಿತ್ರಗಳನ್ನು ನಿರ್ಮಿಸಲು ಬಿಲ್ಡ್‌ಕಿಟ್‌ಗೆ ಅನುಮತಿಸುತ್ತದೆ - ಇದು ಭಾಷೆಯನ್ನು ಪತ್ತೆ ಮಾಡುತ್ತದೆ, ಸೂಕ್ತವಾದ ಮೂಲ ಚಿತ್ರಗಳನ್ನು ಆಯ್ಕೆ ಮಾಡುತ್ತದೆ ಮತ್ತು ಉತ್ಪಾದನೆಗೆ ಸಿದ್ಧವಾಗಿರುವ ಕಂಟೇನರ್ ಅನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಜೋಡಿಸುತ್ತದೆ. HPC ಮತ್ತು ವೈಜ್ಞಾನಿಕ ಕಂಪ್ಯೂಟಿಂಗ್ ಸಮುದಾಯಗಳು ಬಿಲ್ಡ್‌ಕಿಟ್‌ನ ಆಂತರಿಕ LLB (ಕಡಿಮೆ-ಹಂತದ ನಿರ್ಮಾಣ) ಪ್ರಾತಿನಿಧ್ಯಕ್ಕೆ ಕಂಪೈಲ್ ಮಾಡುವ ಡೊಮೇನ್-ನಿರ್ದಿಷ್ಟ ಭಾಷೆಗಳಲ್ಲಿ ಬಿಲ್ಡ್‌ಗಳನ್ನು ವಿವರಿಸಲು ಕಸ್ಟಮ್ ಮುಂಭಾಗಗಳನ್ನು ಬಳಸುತ್ತವೆ. docker/dockerfile:labs ಸಿಂಟ್ಯಾಕ್ಸ್ ಮುಂಭಾಗದ ಪ್ರಯೋಗಗಳು heredoc ಬೆಂಬಲ, --network ಪ್ರತಿ ಸೂಚನೆಯ ನಿಯಂತ್ರಣ, ಮತ್ತು ಸ್ಥಿರವಾದ ಡಾಕರ್‌ಫೈಲ್ ಸಿಂಟ್ಯಾಕ್ಸ್‌ನಲ್ಲಿ ಇಳಿಯುವ ಮೊದಲು ವರ್ಧಿತ ಸಂಗ್ರಹ ಸುಳಿವುಗಳು.

ನಿಮ್ಮ ಸ್ವಂತ ಮುಂಭಾಗವನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುವ ಸಾಮರ್ಥ್ಯ ಎಂದರೆ ಅಸಾಮಾನ್ಯ ನಿರ್ಮಾಣ ಅಗತ್ಯತೆಗಳನ್ನು ಹೊಂದಿರುವ ಸಂಸ್ಥೆಗಳು "ಡಾಕರ್‌ಫೈಲ್ ಸಿಂಟ್ಯಾಕ್ಸ್‌ಗೆ ಎಲ್ಲವನ್ನೂ ಶೂಹಾರ್ನ್ ಮಾಡಿ" ಮತ್ತು "ಸಂಪೂರ್ಣವಾಗಿ ಕಂಟೇನರ್‌ಗಳನ್ನು ತ್ಯಜಿಸಿ" ನಡುವೆ ಆಯ್ಕೆ ಮಾಡಬೇಕಾಗಿಲ್ಲ. FPGA ಫರ್ಮ್‌ವೇರ್ ಅನ್ನು ನಿರ್ಮಿಸುವ ತಂಡ, ಎಂಬೆಡೆಡ್ ಸಿಸ್ಟಮ್‌ಗಳ ಚಿತ್ರಗಳು ಅಥವಾ ವಿಶೇಷ ML ಮಾದರಿಯ ಕಂಟೈನರ್‌ಗಳು ತಮ್ಮ ಡೊಮೇನ್‌ಗೆ ಅರ್ಥವಾಗುವ ಪರಿಭಾಷೆಯಲ್ಲಿ ತಮ್ಮ ಬಿಲ್ಡ್ ಅನ್ನು ವಿವರಿಸಬಹುದು, ಆದರೆ ಕಂಟೇನರ್‌ಗಳು ರನ್ ಆಗುವ ಎಲ್ಲೆಂದರಲ್ಲಿ ಸ್ಟ್ಯಾಂಡರ್ಡ್ OCI-ಕಾಂಪ್ಲೈಂಟ್ ಕಂಟೇನರ್ ಇಮೇಜ್‌ಗಳನ್ನು ಉತ್ಪಾದಿಸುತ್ತವೆ. ಈ ವಿಸ್ತರಣೆಯು ತಮ್ಮ ಇನ್‌ಪುಟ್ ಸ್ವರೂಪವನ್ನು ಸ್ಥಿರವಾಗಿ ಪರಿಗಣಿಸುವ ಬಿಲ್ಡ್ ಸಿಸ್ಟಮ್‌ಗಳ ಮೇಲೆ ನಿಜವಾದ ವಾಸ್ತುಶಿಲ್ಪದ ಪ್ರಯೋಜನವಾಗಿದೆ.

ಪ್ರೊವೆನೆನ್ಸ್ ಮತ್ತು SBOM: ಸೌರ ವಿಂಡ್ಸ್ ನಂತರದ ಪ್ರಪಂಚಕ್ಕಾಗಿ ಕಟ್ಟಡ

2020 ರಲ್ಲಿ SolarWinds ಉಲ್ಲಂಘನೆ ಮತ್ತು 2021 ರಲ್ಲಿ Log4Shell ದುರ್ಬಲತೆಯ ನಂತರ ಸಾಫ್ಟ್‌ವೇರ್ ಪೂರೈಕೆ ಸರಪಳಿ ಭದ್ರತೆಯು ಸೈದ್ಧಾಂತಿಕ ಕಾಳಜಿಯಿಂದ ಬೋರ್ಡ್-ಹಂತದ ಆದ್ಯತೆಗೆ ಸ್ಥಳಾಂತರಗೊಂಡಿತು. US ಸರ್ಕಾರದ ಕಾರ್ಯನಿರ್ವಾಹಕ ಆದೇಶ 14028 ಸೈಬರ್‌ ಸೆಕ್ಯುರಿಟಿಯ ಮೇಲೆ, ಮೇ 2021 ರಲ್ಲಿ ಮ್ಯಾನ್ಡೆಡ್ ಸಾಫ್ಟ್‌ವೇರ್ ಬಿಲ್‌ಗಳನ್ನು ನೀಡಲಾಯಿತು. BuildKit ನ ಮೂಲ ದೃಢೀಕರಣಗಳು ಮತ್ತು SBOM ಪೀಳಿಗೆಯ ವೈಶಿಷ್ಟ್ಯಗಳು ಈ ನಿಯಂತ್ರಕ ಮತ್ತು ಭದ್ರತಾ ಭೂದೃಶ್ಯಕ್ಕೆ ನೇರ ಪ್ರತಿಕ್ರಿಯೆಯಾಗಿದೆ.

--provenance=true ಮತ್ತು --sbom=true ಫ್ಲ್ಯಾಗ್‌ಗಳೊಂದಿಗೆ, BuildKit ಕ್ರಿಪ್ಟೋಗ್ರಾಫಿಕವಾಗಿ ಸಹಿ ಮಾಡಿದ ದೃಢೀಕರಣಗಳನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ, ಅದು ಕಂಟೇನರ್ ಇಮೇಜ್‌ಗೆ ನಿಖರವಾಗಿ ಏನನ್ನು ಹೋಯಿತು - ಯಾವ ಮೂಲ ಚಿತ್ರಗಳನ್ನು ಬಳಸಲಾಗಿದೆ, ಯಾವ ಡಾಕರ್‌ಫೈಲ್ ಸೂಚನೆಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗಿದೆ, ಯಾವ ಮೂಲ ಫೈಲ್‌ಗಳು ಪ್ರಸ್ತುತವಾಗಿವೆ ಮತ್ತು ಯಾವ ಮೂಲ ಫೈಲ್‌ಗಳನ್ನು ಅವಲಂಬಿಸಿರುತ್ತದೆ. ಈ ದೃಢೀಕರಣಗಳು SLSA (ಸಾಫ್ಟ್‌ವೇರ್ ಆರ್ಟಿಫ್ಯಾಕ್ಟ್‌ಗಳಿಗಾಗಿ ಸರಬರಾಜು-ಸರಪಳಿ ಮಟ್ಟಗಳು) ಫ್ರೇಮ್‌ವರ್ಕ್ ಮತ್ತು ಇನ್-ಟೊಟೊ ದೃಢೀಕರಣ ಸ್ವರೂಪವನ್ನು ಅನುಸರಿಸುತ್ತವೆ, ಸಿಗ್‌ಸ್ಟೋರ್‌ನ ಕೋಸಿನ್ ಮತ್ತು OPA (ಓಪನ್ ಪಾಲಿಸಿ ಏಜೆಂಟ್) ನಂತಹ ನೀತಿ ಎಂಜಿನ್‌ಗಳಿಂದ ಅವುಗಳನ್ನು ಯಂತ್ರ-ಪರಿಶೀಲಿಸುವಂತೆ ಮಾಡುತ್ತದೆ.

ಇದು ಸಕ್ರಿಯಗೊಳಿಸುವ ಪ್ರಾಯೋಗಿಕ ಕೆಲಸದ ಹರಿವು ಈ ರೀತಿ ಕಾಣುತ್ತದೆ:

<ಓಲ್>
  • ಡೆವಲಪರ್ ಕೋಡ್ ಅನ್ನು ತಳ್ಳುತ್ತದೆ; CI ಪೈಪ್‌ಲೈನ್ ಮೂಲವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿದ ಬಿಲ್ಡ್‌ಕಿಟ್ ನಿರ್ಮಾಣವನ್ನು ಪ್ರಚೋದಿಸುತ್ತದೆ.
  • BuildKit ಎಲ್ಲಾ ಘಟಕಗಳು ಮತ್ತು ಅವುಗಳ ಆವೃತ್ತಿಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡುವ ಸಹಿ ಮಾಡಿದ SBOM ಅನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ.
  • ಚಿತ್ರ ಮ್ಯಾನಿಫೆಸ್ಟ್ ಜೊತೆಗೆ ಕಂಟೇನರ್ ರಿಜಿಸ್ಟ್ರಿಗೆ SBOM ಅನ್ನು ಪ್ರಕಟಿಸಲಾಗಿದೆ.
  • ಕುಬರ್ನೆಟ್ಸ್ ಕ್ಲಸ್ಟರ್‌ನಲ್ಲಿನ ಪ್ರವೇಶ ನಿಯಂತ್ರಕರು ನಿಯೋಜನೆಯನ್ನು ಅನುಮತಿಸುವ ಮೊದಲು ಮೂಲವನ್ನು ಪರಿಶೀಲಿಸುತ್ತಾರೆ.
  • ಹೊಸ CVEಗಳನ್ನು ಬಹಿರಂಗಪಡಿಸಿದಾಗ ಪೀಡಿತ ಚಿತ್ರಗಳನ್ನು ಗುರುತಿಸಲು ದುರ್ಬಲತೆ ಸ್ಕ್ಯಾನರ್‌ಗಳು SBOM ಅನ್ನು ಪ್ರಶ್ನಿಸುತ್ತವೆ.
  • ಈ ಪೂರ್ಣ ಪೈಪ್‌ಲೈನ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವ ತಂಡಗಳು ದುರ್ಬಲತೆಯ ಬಹಿರಂಗಪಡಿಸುವಿಕೆಗಳಿಗೆ ದಿನಗಳಿಗಿಂತ ಗಂಟೆಗಳಲ್ಲಿ ಪ್ರತಿಕ್ರಿಯಿಸಬಹುದು, ಏಕೆಂದರೆ ಅವುಗಳು ಚಾಲನೆಯಲ್ಲಿರುವ ಪ್ರತಿಯೊಂದು ಕಂಟೇನರ್‌ನಲ್ಲಿರುವ ಪ್ರತಿಯೊಂದು ಘಟಕದ ನಿಖರವಾದ, ಯಂತ್ರ-ಓದಬಲ್ಲ ನಕ್ಷೆಯನ್ನು ಹೊಂದಿರುತ್ತವೆ. ಗ್ರಾಹಕರ ಕಾರ್ಯಾಚರಣೆಯ ಕೆಲಸದ ಹರಿವುಗಳಿಗೆ ಆಳವಾಗಿ ಸಂಯೋಜಿಸುವ Mewayz ನಂತಹ ವ್ಯವಹಾರಗಳಿಗೆ - ಚಾಲನೆಯಲ್ಲಿರುವ ವೇತನದಾರರ, ಫ್ಲೀಟ್ ಡೇಟಾವನ್ನು ನಿರ್ವಹಿಸುವುದು, ಇನ್‌ವಾಯ್ಸ್‌ಗಳನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುವುದು - ಕಠಿಣವಾದ, ಆಡಿಟ್ ಮಾಡಬಹುದಾದ ಪೂರೈಕೆ ಸರಪಳಿಯನ್ನು ಪ್ರದರ್ಶಿಸುವ ಸಾಮರ್ಥ್ಯವು ಎಂಟರ್‌ಪ್ರೈಸ್ ಮಾರಾಟ ಸಂಭಾಷಣೆಗಳಿಗೆ ಹೆಚ್ಚು ಪೂರ್ವಾಪೇಕ್ಷಿತವಾಗಿದೆ, ಕೇವಲ ಉತ್ತಮ-ಹೊಂದಲು ಅಲ್ಲ.

    ಪ್ರಾರಂಭಿಸುವಿಕೆ: ಡೀಫಾಲ್ಟ್ ಬಿಲ್ಡ್‌ಗಳಿಂದ ಸುಧಾರಿತ ಪೈಪ್‌ಲೈನ್‌ಗಳವರೆಗೆ

    ನೀವು ಇತ್ತೀಚಿನ ಆವೃತ್ತಿಯನ್ನು ಬಳಸುತ್ತಿದ್ದರೆ BuildKit ಈಗಾಗಲೇ ನಿಮ್ಮ ಡಾಕರ್ ಪರಿಸರದಲ್ಲಿ ಚಾಲನೆಯಲ್ಲಿದೆ — ಡಾಕರ್ 23.0 ಮತ್ತು ನಂತರ ಅದನ್ನು ಡೀಫಾಲ್ಟ್ ಆಗಿ ಸಕ್ರಿಯಗೊಳಿಸಿ. ಹೆಚ್ಚಿನ ತಂಡಗಳಿಗೆ ಮೊದಲ ಪ್ರಾಯೋಗಿಕ ಹಂತವೆಂದರೆ ಡಾಕರ್ ಬಿಲ್ಡ್‌ಎಕ್ಸ್ ಪ್ಲಗಿನ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುವುದು, ಇದು ಬಿಲ್ಡ್‌ಕಿಟ್‌ನ ಪೂರ್ಣ ವೈಶಿಷ್ಟ್ಯವನ್ನು <ಕೋಡ್>ಡಾಕರ್ ಬಿಲ್ಡ್ಕ್ಸ್ ಉಪಕಮಾಂಡ್ ಮೂಲಕ ಹೊಂದಿಸುತ್ತದೆ. docker buildx create --use ಅನ್ನು ರನ್ ಮಾಡುವುದರಿಂದ ಡೀಫಾಲ್ಟ್ ಡ್ರೈವರ್‌ಗಿಂತ ಹೆಚ್ಚಿನ ಸಾಮರ್ಥ್ಯದೊಂದಿಗೆ BuildKit ಬಿಲ್ಡರ್ ನಿದರ್ಶನವನ್ನು ಹೊಂದಿಸುತ್ತದೆ. ಅಲ್ಲಿಂದ, ಸುಧಾರಿತ ವೈಶಿಷ್ಟ್ಯಗಳ ಹೆಚ್ಚುತ್ತಿರುವ ಅಳವಡಿಕೆಯು ಎಲ್ಲವನ್ನೂ ಒಂದೇ ಬಾರಿಗೆ ಅಳವಡಿಸಿಕೊಳ್ಳಲು ಪ್ರಯತ್ನಿಸುವುದಕ್ಕಿಂತ ಅರ್ಥಪೂರ್ಣವಾಗಿದೆ.

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

    ಬಿಲ್ಡ್‌ಕಿಟ್‌ನ ಆಳವಾದ ಪಾಠವು ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿ ನಿರ್ಮಿಸುವುದು. ನೀವು ಮೈಕ್ರೊ ಸರ್ವಿಸ್‌ಗಾಗಿ ಕಂಟೇನರ್ ಅನ್ನು ಶಿಪ್ ಮಾಡುತ್ತಿರಲಿ, ಯಂತ್ರ ಕಲಿಕೆಯ ಅಂತ್ಯಬಿಂದು ಅಥವಾ Mewayz ನ ಸೂಟ್‌ನ 207 ವ್ಯಾಪಾರ ಮಾಡ್ಯೂಲ್‌ಗಳಂತಹ ಸಂಕೀರ್ಣ ವೇದಿಕೆಯಾಗಿರಲಿ, ನಿರ್ಮಾಣ ಪ್ರಕ್ರಿಯೆಯು ನಿಯೋಜನೆಯ ಹಾದಿಯಲ್ಲಿ ನೀವು ಧಾವಿಸುವ ಔಪಚಾರಿಕತೆಯಲ್ಲ - ಇದು ಇಂಜಿನಿಯರಿಂಗ್ ಕಲಾಕೃತಿಯಾಗಿದ್ದು ಅದು ಗುಣಮಟ್ಟ, ಭದ್ರತಾ ಭಂಗಿ ಮತ್ತು ಅದರ ಕಾರ್ಯಾಚರಣೆಯ ಪರಿಪಕ್ವತೆಯನ್ನು ಪ್ರತಿಬಿಂಬಿಸುತ್ತದೆ. ಆ ಕಲಾಕೃತಿಯನ್ನು ಅತ್ಯುತ್ತಮವಾಗಿಸಲು ಬಿಲ್ಡ್‌ಕಿಟ್ ನಿಮಗೆ ಪರಿಕರಗಳನ್ನು ನೀಡುತ್ತದೆ. ನೀವು ಅವುಗಳನ್ನು ಬಳಸಲು ಸಮಯ ತೆಗೆದುಕೊಳ್ಳುತ್ತೀರಾ ಎಂಬುದು ಪ್ರಶ್ನೆಯಾಗಿದೆ.

    ಪದೇ ಪದೇ ಕೇಳಲಾಗುವ ಪ್ರಶ್ನೆಗಳು

    ಬಿಲ್ಡ್‌ಕಿಟ್ ಎಂದರೇನು ಮತ್ತು ಇದು ಕ್ಲಾಸಿಕ್ ಡಾಕರ್ ಬಿಲ್ಡ್ ಸಿಸ್ಟಮ್‌ಗಿಂತ ಹೇಗೆ ಭಿನ್ನವಾಗಿದೆ?

    BuildKit ಡಾಕರ್‌ನ ಮುಂದಿನ-ಪೀಳಿಗೆಯ ಬಿಲ್ಡ್ ಎಂಜಿನ್ ಆಗಿದೆ, ಇದನ್ನು ಡಾಕರ್ 18.09 ರಲ್ಲಿ ಪರಿಚಯಿಸಲಾಯಿತು ಮತ್ತು ಡಾಕರ್ 23.0 ನಲ್ಲಿ ಡೀಫಾಲ್ಟ್ ಮಾಡಲಾಗಿದೆ. ಕ್ಲಾಸಿಕ್ ಬಿಲ್ಡರ್‌ಗಿಂತ ಭಿನ್ನವಾಗಿ, ಬಿಲ್ಡ್‌ಕಿಟ್ ಸಮಾನಾಂತರ ಪದರದ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆ, ಸುಧಾರಿತ ಕ್ಯಾಶಿಂಗ್ ತಂತ್ರಗಳು, ರಹಸ್ಯಗಳನ್ನು ಜೋಡಿಸುವುದು ಮತ್ತು ಅಡ್ಡ-ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ ನಿರ್ಮಾಣಗಳನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ. ಇದು ನಿರ್ಮಾಣ ಪ್ರಕ್ರಿಯೆಯನ್ನು ನಿರ್ದೇಶಿತ ಅಸಿಕ್ಲಿಕ್ ಗ್ರಾಫ್ (DAG) ಎಂದು ಪರಿಗಣಿಸುತ್ತದೆ, ಇದು ಸಂಕೀರ್ಣವಾದ, ಬಹು-ಹಂತದ ಡಾಕರ್‌ಫೈಲ್‌ಗಳಿಗೆ ಚುರುಕಾದ ಅವಲಂಬನೆ ರೆಸಲ್ಯೂಶನ್ ಮತ್ತು ನಾಟಕೀಯವಾಗಿ ವೇಗದ ನಿರ್ಮಾಣ ಸಮಯವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ.

    Docker ಜೊತೆಗೆ BuildKit ಬಳಸುವುದನ್ನು ಪ್ರಾರಂಭಿಸಲು ನಾನು ಹೆಚ್ಚುವರಿಯಾಗಿ ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಬೇಕೇ?

    ನೀವು ಡಾಕರ್ 23.0 ಅಥವಾ ನಂತರದ ಆವೃತ್ತಿಯನ್ನು ಚಲಾಯಿಸುತ್ತಿದ್ದರೆ ಯಾವುದೇ ಹೆಚ್ಚುವರಿ ಅನುಸ್ಥಾಪನೆಯ ಅಗತ್ಯವಿಲ್ಲ - ಬಿಲ್ಡ್‌ಕಿಟ್ ಅನ್ನು ಡೀಫಾಲ್ಟ್ ಆಗಿ ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ. ಹಳೆಯ ಆವೃತ್ತಿಗಳಲ್ಲಿ, ನಿಮ್ಮ ಬಿಲ್ಡ್ ಕಮಾಂಡ್‌ಗಳನ್ನು ಚಲಾಯಿಸುವ ಮೊದಲು ಪರಿಸರ ವೇರಿಯಬಲ್ DOCKER_BUILDKIT=1 ಅನ್ನು ಹೊಂದಿಸುವ ಮೂಲಕ ನೀವು ಅದನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಬಹುದು. ರಿಮೋಟ್ ಬಿಲ್ಡ್ ಕ್ಯಾಶ್‌ಗಳು ಅಥವಾ ಮಲ್ಟಿ-ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ ಬಿಲ್ಡ್‌ಗಳಂತಹ ಮುಂದುವರಿದ ಬಳಕೆಯ ಸಂದರ್ಭಗಳಿಗಾಗಿ, ನೀವು ಡಾಕರ್ ಬಿಲ್ಡ್‌ಎಕ್ಸ್ ಕ್ರಿಯೇಟ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ಮೀಸಲಾದ Buildx ಬಿಲ್ಡರ್ ನಿದರ್ಶನವನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಲು ಬಯಸಬಹುದು.

    ಸ್ಟ್ಯಾಂಡರ್ಡ್ ಕಂಟೈನರ್ ಚಿತ್ರಗಳನ್ನು ಮೀರಿ ಕಲಾಕೃತಿಗಳನ್ನು ನಿರ್ಮಿಸಲು ಬಿಲ್ಡ್‌ಕಿಟ್ ಅನ್ನು ಬಳಸಬಹುದೇ?

    ಹೌದು, ಮತ್ತು ಇದು BuildKit ನ ಅತ್ಯಂತ ಕಡಿಮೆ ಮೌಲ್ಯಯುತವಾದ ಸಾಮರ್ಥ್ಯಗಳಲ್ಲಿ ಒಂದಾಗಿದೆ. ಕಸ್ಟಮ್ ಮುಂಭಾಗಗಳು ಮತ್ತು --ಔಟ್‌ಪುಟ್ ಫ್ಲ್ಯಾಗ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು, ಬಿಲ್ಡ್‌ಕಿಟ್ ಕಚ್ಚಾ ಬೈನರಿಗಳು, ಟಾರ್‌ಬಾಲ್‌ಗಳು, ಸ್ಥಿರ ವೆಬ್‌ಸೈಟ್‌ಗಳು ಮತ್ತು ಇತರ ಅನಿಯಂತ್ರಿತ ಫೈಲ್ ಕಲಾಕೃತಿಗಳನ್ನು ಉತ್ಪಾದಿಸಬಹುದು - ಕೇವಲ OCI ಚಿತ್ರಗಳಲ್ಲ. ಇದು ಒಂದು ಸಾಮಾನ್ಯ-ಉದ್ದೇಶದ ನಿರ್ಮಾಣ ಇಂಜಿನ್ ಆಗಿದ್ದು ಅದು ಪಾಲಿಗ್ಲೋಟ್ ಮೊನೊರೆಪೋಸ್ ಮತ್ತು ಸಂಕೀರ್ಣ CI ಪೈಪ್‌ಲೈನ್‌ಗಳಿಗೆ ಹೊಂದಿಕೊಳ್ಳುತ್ತದೆ, ಅಲ್ಲಿ ವಿವಿಧ ತಂಡಗಳಿಗೆ ಏಕೀಕೃತ ಟೂಲ್‌ಚೈನ್‌ನಿಂದ ವಿಭಿನ್ನ ಔಟ್‌ಪುಟ್ ಫಾರ್ಮ್ಯಾಟ್‌ಗಳು ಬೇಕಾಗುತ್ತವೆ.

    Mwayz ನಂತಹ ಪರಿಕರಗಳ ಜೊತೆಗೆ ವಿಶಾಲವಾದ DevOps ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ಗೆ ಬಿಲ್ಡ್‌ಕಿಟ್ ಹೇಗೆ ಹೊಂದಿಕೊಳ್ಳುತ್ತದೆ?

    BuildKit ಕೆಳಮಟ್ಟದ ಬಿಲ್ಡ್ ಲೇಯರ್ ಅನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ, ಆದರೆ ಆಧುನಿಕ ಅಭಿವೃದ್ಧಿ ತಂಡಗಳು ವ್ಯಾಪಾರದ ಕೆಲಸದ ಹರಿವುಗಳು, ಕ್ಲೈಂಟ್ ವಿತರಣೆ ಮತ್ತು ಕಾರ್ಯಾಚರಣೆಯ ಪ್ರಕ್ರಿಯೆಗಳನ್ನು ನಿರ್ವಹಿಸಬೇಕಾಗುತ್ತದೆ. Mewayz ನಂತಹ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ಗಳು — $19/mo ನಿಂದ ಪ್ರಾರಂಭವಾಗುವ 207-ಮಾಡ್ಯೂಲ್ ವ್ಯಾಪಾರ OS — ಸಾಫ್ಟ್‌ವೇರ್ ವ್ಯವಹಾರಗಳ ಕಾರ್ಯಾಚರಣೆಯ ಭಾಗವನ್ನು ಒಳಗೊಳ್ಳುವ ಮೂಲಕ ಮೂಲಸೌಕರ್ಯ ಪರಿಕರಗಳನ್ನು ಪೂರೈಸುತ್ತದೆ. Mewayz ನಂತಹ ಆಲ್-ಇನ್-ಒನ್ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ನೊಂದಿಗೆ BuildKit ನಿಂದ ನಡೆಸಲ್ಪಡುವ ಸಮರ್ಥ ನಿರ್ಮಾಣ ಪೈಪ್‌ಲೈನ್‌ಗಳನ್ನು ಜೋಡಿಸುವುದು ತಂಡಗಳಿಗೆ ಕೋಡ್ ಕಲಾಕೃತಿಯಿಂದ ಗ್ರಾಹಕರ ವಿತರಣೆಯವರೆಗೆ ಸಂಪೂರ್ಣ ಸ್ಟಾಕ್ ಅನ್ನು ನೀಡುತ್ತದೆ.