Hoʻonui i ka ʻike mea hoʻomohala ma ka hoʻolālā polokalamu: nā hoʻolālā no ka hui pū ʻana a me nā mea hana | B4N1

Hoʻonui i ka ʻike mea hoʻomohala ma ka hoʻolālā polokalamu: nā hoʻolālā no ka hui pū ʻana a me nā mea hana

9 months ago · b4n1 Read time: 6 min

Hoʻolauna

Ma ka ʻāina hoʻomohala polokalamu wikiwiki i kēia lā, ua lilo ka maikaʻi o ka ʻike mea hoʻomohala i mea koʻikoʻi i ka hoʻoholo ʻana i ka holomua o kahi papahana. Ke mahuahua nei ka paʻakikī o nā ʻōnaehana polokalamu, ke kū nei nā mea hoʻomohala i nā pilikia he nui e hiki ke keʻakeʻa i kā lākou huahana a me ka hauʻoli holoʻokoʻa. No ka hoʻoponopono ʻana i kēia mau pilikia, hoʻohana nā mea hoʻolālā polokalamu a me nā mea hoʻomohala i nā hoʻolālā like ʻole e hoʻokumu i ka ʻike o ka mea hoʻomohala, me nā mea hana like ʻole, nā hoʻolālā automation, a me nā ʻano hana e hoʻomaikaʻi ai i ka pono o ka workflow.

Ma kēia ʻatikala, e ʻimi mākou i nā holomua hou loa i ka hoʻolālā polokalamu e kālele ana i ka hoʻonui ʻana i ka ʻike mea hoʻomohala. E ʻimi mākou i ka honua o nā mea hana like, nā hoʻolālā automation, a me nā ʻano hana e hiki ke kōkua i nā mea hoʻomohala e hana ʻoi aku ka maikaʻi a me ka maikaʻi. Eia kekahi, e hāʻawi mākou i kahi code code ma Python e hōʻike ana pehea e hoʻokō ai i kahi hoʻolālā automation maʻalahi me ka hoʻohana ʻana i kahi pipeline CI / CD.

Mea Hana Hui no ka ʻIke Hoʻomohala Hoʻonui

Ua hoʻololi nā mea hana hui like i ke ʻano o ka hana pū ʻana o nā mea hoʻomohala ma nā papahana polokalamu. Hiki i kēia mau mea hana ke kamaʻilio i ka manawa maoli, ka loiloi code, a me ka hoʻokele papahana, e maʻalahi i nā mea hoʻomohala e hana like a kaʻana like i ka ʻike.

Pūnaehana Mana Mana (VCS)

ʻO nā ʻōnaehana mana version, e like me Git, he mau mea hana pono no ka hoʻomohala ʻana i nā polokalamu hana. ʻAe ʻo VCS i nā mea hoʻomohala he nui e hana ma ka codebase like i ka manawa like, e hahai i nā loli, a mālama i nā paio.

# Hoʻomaka i kahi waihona Git hou
git hoʻohui .
git commit -m "Hoʻomaka mua"

Mea Hana Manaʻo Code

Nā mea hana loiloi code, e like me GitHub Code Review, hiki i nā mea hoʻomohala ke nānā a hāʻawi i nā manaʻo i ke code o kēlā me kēia. Kōkua kēia i ka hōʻoia ʻana he kūlana kiʻekiʻe ke code, kū i nā kūlana coding, a hahai i nā hana maikaʻi loa.

Mea Hana Hoʻokele

ʻO nā mea hana hoʻokele papahana, e like me Jira, Trello, a i ʻole Asana, kōkua i nā mea hoʻomohala e hoʻolālā, mālama, a mālama i kā lākou hana. Hiki i kēia mau mea hana ke hāʻawi i nā hana, hoʻonohonoho i nā lā palena, a nānā i ka holomua.

Hoʻolālā Automation no ka ʻike hoʻomohala hoʻonui

He kuleana koʻikoʻi ka hoʻolālā ʻana i ka hoʻonui ʻana i ka ʻike mea hoʻomohala ma o ka hōʻemi ʻana i ka hana lima, hoʻomaikaʻi i ka pono, a me ka hōʻemi ʻana i nā hewa.

Hoʻohui mau (CI)

ʻO ka hoʻohui mau ʻana he hana kahi e hoʻopili pinepine ai nā mea hoʻomohala i kā lākou hoʻololi code i kahi waihona kikowaena. Mālama kēia i ke kūkulu ʻia ʻana o ke code, hoʻāʻo ʻia a hoʻopaʻa ʻia i nā manawa a pau, e hōʻemi ana i ka pilikia o ka hoʻohui.

Hoʻohana mau (CD)

ʻO ka hoʻomau mau ʻana he hana kahi e hana ai a hoʻāʻo ʻia nā hoʻokolohua i kēlā me kēia manawa e hoʻololi ʻia nā code i ka waihona. ʻAe kēia i nā mea hoʻomohala e kau i nā hoʻololi code me ka wikiwiki a hilinaʻi.

Hoʻolālā like Code (IaC)

ʻO ka Infrastructure e like me ke code he hana kahi i wehewehe ʻia ai ka ʻōnaehana me ka hoʻohana ʻana i ke code, ma mua o ka hoʻonohonoho manual. ʻAe kēia i nā mea hoʻomohala e hoʻokele i nā hoʻololi ʻōnaehana, hoʻemi i nā hewa, a hoʻomaikaʻi i ka kūlike.

Nā ʻano hana no ka ʻike hoʻomohala i hoʻonui ʻia

He kuleana koʻikoʻi nā Methodologies i ka hoʻonui ʻana i ka ʻike mea hoʻomohala ma o ka hāʻawi ʻana i kahi hoʻolālā no ka laulima, kamaʻilio, a me ka hoʻoponopono pilikia.

ʻO ke ʻano aʻe

ʻO ke ʻano ʻo Agile kahi ala hoʻomohala a hoʻonui i ka hoʻomohala ʻana i nā polokalamu e hoʻoikaika ana i ka maʻalahi, ka hui pū ʻana, a me ka hoʻomaikaʻi mau ʻana.

Hoʻolālā Scrum

ʻO ka Scrum framework kahi ʻano Agile kaulana e hoʻoikaika i ka hana hui, kuleana, a me ka holomua holomua i nā pahuhopu i wehewehe maikaʻi ʻia.

Moʻomeheu DevOps

ʻO ka moʻomeheu DevOps kahi manaʻo noʻonoʻo e hoʻoikaika i ka hui pū ʻana, kamaʻilio, a me ka hoʻomau mau ʻana ma waena o ka hoʻomohala ʻana a me nā hui hana.

Laʻana Code: Hoʻokō i kahi CI/CD Pipeline me ka Python

Ma kēia hiʻohiʻona, e hōʻike mākou pehea e hoʻokō ai i kahi pipeline CI/CD maʻalahi me ka hoʻohana ʻana iā Python a me ka waihona 'pipelines'.

lawe mai os
kaʻina hana hoʻokomo
mai nā paipu lawe mai Pipeline

papa MyPipeline(Pipeline):
    def __init__(self):
        super().__init__()
        self.name = "Koʻu Pipeline"

    def build(self):
        # Kūkulu i ke code
        subprocess.run(["make", "build")

    def test(self):
        # Holo i nā hoʻokolohua ʻāpana
        subprocess.run(["make", "test")

    def deploy(self):
        # Hoʻopili i ke code
        subprocess.run(["make", "deploy"))

pipeline = MyPipeline()
pipeline.run()

Hōʻike kēia code i kahi pipeline CI/CD maʻalahi e kūkulu, hoʻāʻo, a hoʻoili i nā loli code. Hoʻohana ke ʻano hana 'build' i ke kauoha 'make build', ʻo ke ʻano hana 'test' e holo i ke kauoha 'make test', a ʻo ke ʻano hana 'deploy' e holo i ke kauoha 'make deploy'.

Nānā: CI/CD Pipeline

Hōʻike ka pakuhi ma lalo nei i ka paipu CI/CD me ka hoʻohana ʻana iā Chart.js.

const ctx = document.getElementById('myChart').getContext('2d');
palapala kuhi = Palapala hou(ctx, {
  ʻano: 'horizontalBar',
  ʻikepili: {
    nā lepili: ['Kūkulu', 'Ho'āʻo', 'Hoʻolālā'],
    nā pūʻulu helu: [{
      lepili: 'Pipeline Steps',
      ʻikepili: [10, 20, 30],
      kala kala: [
        'rgba(255, 99, 132, 0.2)',
        'rgba(54, 162, 235, 0.2)',
        'rgba(255, 206, 86, 0.2)'
      ],
      kala kala: [
        'rgba(255, 99, 132, 1)',
        'rgba(54, 162, 235, 1)',
        'rgba(255, 206, 86, 1)'
      ],
      palena palena: 1
    }]
  },
  nā koho: {
    unahi: {
      y: {
        beginAtZero: ʻoiaʻiʻo
      }
    }
  }
});

Hōʻike kēia pakuhi i nā ʻanuʻu pipeline, me ke kūkulu ʻana, hoʻāʻo, a me ka waiho ʻana.

Ka hopena

He mea koʻikoʻi ka hoʻonui ʻana i ka ʻike mea hoʻomohala no ka holomua hoʻomohala polokalamu. ʻO nā mea hana like, nā hoʻolālā automation, a me nā ʻano hana he mea koʻikoʻi i ka hoʻomaikaʻi ʻana i ka huahana mea hoʻomohala, ʻoluʻolu, a me ka maikaʻi o ke ola holoʻokoʻa. Ma ka hoʻohana ʻana i nā holomua hou loa i ka hoʻolālā polokalamu, hiki i nā mea hoʻomohala ke hana ʻoi aku ka maikaʻi, ʻoi aku ka maikaʻi, a me ka hui pū ʻana. Hōʻike ka laʻana code a me ka hiʻohiʻona i hāʻawi ʻia i kēia ʻatikala pehea e hoʻokō ai i kahi pipeline CI/CD maʻalahi me ka Python a me Chart.js. Ma ka hoʻopili ʻana i kēia mau hoʻolālā a me nā mea hana, hiki i nā mea hoʻomohala ke lawe i kā lākou hoʻomohala polokalamu i ka pae aʻe.

Nā kuhikuhi

  • [1] "The State of DevOps Report" na Puppet Labs
  • [2] "Hoʻohui mau a me ka hoʻomau mau ʻana" e Microsoft
  • [3] "Agile Methodology" na Scrum.org
  • [4] "DevOps Culture" na DevOps Institute
  • [5] "Python Pipelines" na ka hale waihona puke paipu

Heluhelu hou aku

  • "The DevOps Handbook" na Gene Kim
  • "Ka hoʻouna mau ʻana: hoʻokuʻu ʻia nā polokalamu hilinaʻi ma o ke kūkulu ʻana, hoʻāʻo, a me ka hoʻohana ʻana i ka automation" na Jez Humble
  • "Agile Project Management with Scrum" na Ken Schwaber
  • "DevOps for Dummies" na John F. Harris

Have Questions?

Let's Talk

Contact me on LinkedIn