Meriv çawa dest bi ceribandina Ansible dike, di salekê de projeyê nûve bike û dîn nebe

Meriv çawa dest bi ceribandina Ansible dike, di salekê de projeyê nûve bike û dîn nebe

Ev transkript e performansa li ser DevOps-40 2020-03-18:

Ji peywira duyemîn dest pê dike, her kod dibe mîras, ji ber ramanên destpêkê dest pê dikin ku ji rastiya tund cuda bibin. Ev ne baş e û ne jî xirab e, ew diyariyek e ku nîqaşkirina pê re dijwar e û divê were jiyîn. Beşek ji vê pêvajoyê refaktor e. Refactoring Binesaziya wek Code. Bila çîrok dest pê bike ka meriv çawa di salekê de Ansible veguhezîne û dîn nebe.

Jidayikbûna Mîrasê

Roja #1: Nexweşê Zero

Meriv çawa dest bi ceribandina Ansible dike, di salekê de projeyê nûve bike û dîn nebe

Carekê projeyek bi şert hebû. Ew tîmek pêşveçûna Dev û endezyarên Ops bû. Wan heman pirsgirêk çareser dikirin: Meriv çawa serveran bicîh dike û serîlêdanek dimeşîne. Pirsgirêk ev bû ku her tîmek bi awayê xwe ev pirsgirêk çareser kir. Di projeyê de, biryar hate girtin ku Ansible bikar bînin da ku zanînê di navbera tîmên Dev û Ops de hevdeng bikin.

Roja #89: Jidayikbûna Mîrasê

Meriv çawa dest bi ceribandina Ansible dike, di salekê de projeyê nûve bike û dîn nebe

Bêyî ku bi xwe hay jê hebin, wan dixwest ku bi qasî ku pêkan be wiya bikin, lê ew wekî mîras derket. Ev çawa dibe?

  • Li vir peywirek me ya lezgîn heye, werin em xapandinek qirêj bikin û dûv re sererast bikin.
  • Hûn ne hewce ne ku belgeyan binivîsin û her tişt eşkere ye ku li vir çi diqewime.
  • Ez Ansible / Python / Bash / Terraform dizanim! Binêre ez çawa dikarim birevim!
  • Ez Pêşdebirek Full Stack Overflow me û vê ji stackoverflow kopî kir, ez nizanim ew çawa dixebite, lê ew xweş xuya dike û pirsgirêkê çareser dike.

Wekî encamek, hûn dikarin celebek kodek nefêmkirî ya ku jê re belgeyek tune ye, ne diyar e ka ew çi dike, gelo hewce ye, lê pirsgirêk ev e ku hûn hewce ne ku wê pêşve bibin, biguhezînin, kulm û piştgirî lê zêde bikin. , rewşê hîn xerabtir dike.

- hosts: localhost
  tasks:
    - shell: echo -n Z >> a.txt && cat a.txt
      register: output
      delay: 1
      retries: 5
      until: not output.stdout.find("ZZZ")

Roja #109: Hişyariya pirsgirêkê

Meriv çawa dest bi ceribandina Ansible dike, di salekê de projeyê nûve bike û dîn nebe

Modela IaC ya ku di destpêkê de hatî fikirîn û pêkanîn êdî hewcedariyên bikarhêneran / karsazî / tîmên din nagire, û dema ku meriv guheztinên binesaziyê pêk bîne êdî nayê qebûlkirin. Di vê demê de, têgihiştin ku dem dema çalakiyê ye.

Refactoring IaC

Roja # 139: Ma hûn bi rastî hewcedarê vesazkirinê ne?

Meriv çawa dest bi ceribandina Ansible dike, di salekê de projeyê nûve bike û dîn nebe

Berî ku hûn bilezînin ser refactor, divê hûn çend pirsên girîng bersiv bidin:

  1. Çima hûn van hemî hewce ne?
  2. Wextê te heye?
  3. Ma zanîn bes e?

Heke hûn nizanin ka meriv çawa bersiva pirsan bide, wê hingê vesazkirin dê berî ku dest pê bike bi dawî bibe, an jî dibe ku ew xirabtir bibe. Bo xwedî ezmûn ( Tiştê ku ez ji ceribandina 200 Xetên Koda Binesaziyê fêr bûm), dûv re proje daxwazek alîkariyê wergirt da ku rola rast bike û wan bi ceribandinan veşêre.

Roja #149: Amadekirina refaktorkirinê

Meriv çawa dest bi ceribandina Ansible dike, di salekê de projeyê nûve bike û dîn nebe

Ya yekem ew e ku meriv amade bike. Em ê çi bikin biryar bidin. Ji bo vê yekê, em danûstandinê dikin, qadên pirsgirêkê peyda dikin û awayên çareserkirina wan peyda dikin. Em têgînên encam bi rengekî tomar dikin, mînakî gotarek li hevûdu, da ku gava pirs derkeve holê "çi çêtirîn e?" an "kîjan rast e?" Me rêya xwe winda nekir. Di doza me de, em li ser ramanê sekinîn parçe bike û hukum bike: em binesaziyê bi perçeyên biçûk/qûçikan perçe dikin. Ev nêzîkatî dihêle hûn perçeyek binesaziyek veqetandî bavêjin, fêm bikin ka ew çi dike, wê bi ceribandinan veşêre û bêyî tirsa ji şikandina tiştekê biguhezîne.

Meriv çawa dest bi ceribandina Ansible dike, di salekê de projeyê nûve bike û dîn nebe

Derket holê ku ceribandina binesaziyê dibe kevirê bingehîn û li vir hêjayî gotinê ye ku pîramîda ceribandina binesaziyê. Bi rastî heman ramana ku di pêşkeftinê de ye, lê ji bo binesaziyê: em ji ceribandinên bilez ên erzan ên ku tiştên hêsan kontrol dikin, wek xêzkirin, berbi ceribandinên bêkêmasî yên biha yên ku tevahiya binesaziyê bicîh dikin, diçin.

Hewldanên ceribandinê yên bêkêmasî

Berî ku em herin rave bikin ka me çawa ceribandinên Ansible li ser projeyê vegirtiye, ez ê hewil û nêzîkatiyên ku min berê fersend bikar bînim diyar bikim da ku çarçoweya biryarên hatine girtin fam bikim.

Hejmara roj -997: Dabînkirina SDS

Meriv çawa dest bi ceribandina Ansible dike, di salekê de projeyê nûve bike û dîn nebe

Cara yekem ku min Ansible ceriband li ser projeyek bû ku ji bo pêşvebirina SDS (Storage Defined Software). Li ser vê mijarê gotarek cuda heye
Di dema ceribandina belavkirina xwe de meriv çawa bisiklêtan li ser çarçikan bişkîne, lê bi kurtasî, me bi pîramîdek ceribandinê ya berevajî bi dawî kir û ceribandinê me 60-90 hûrdem li ser yek rolê derbas kir, ku ev demek dirêj e. Bingeh testên e2e bû, yanî. me sazkirinek bêkêmasî saz kir û dûv re ew ceriband. Tiştê ku hê girantir dikir îcada duçerxeya xwe bû. Lê divê ez bipejirînim, ev çareserî xebitî û destûr da serbestberdanek bi îstîqrar.

Roja # -701: Metbexa bêserûber û ceribandinê

Meriv çawa dest bi ceribandina Ansible dike, di salekê de projeyê nûve bike û dîn nebe

Pêşkeftina ramana ceribandina Ansible karanîna amûrên amade bû, ango ceribandina metbexê / metbexê-ci û vekolînê. Hilbijartin ji hêla zanîna Ruby ve hate destnîşankirin (ji bo bêtir agahdarî, li gotara li ser Habré binêre: Ma bernamenûsên YML xewna ceribandina Ansible dikin?) zûtir xebitî, bi qasî 40 hûrdem ji bo 10 rolan. Me pakêtek makîneyên virtual çêkir û di hundurê de ceribandinan kir.

Meriv çawa dest bi ceribandina Ansible dike, di salekê de projeyê nûve bike û dîn nebe

Bi gelemperî, çareserî xebitî, lê ji ber heterojeniyê hinek sediment hebû. Gava ku hejmara kesên hatine ceribandin zêde bû 13 rolên bingehîn û 2 rolên meta ku rolên piçûktir berhev dikirin, wê hingê ji nişkê ve ceribandinan 70 hûrdem dest pê kirin, ku hema hema 2 carî dirêjtir e. Zehmet bû ku meriv qala pratîkên XP (bernamesaziya tund) bike ji ber ku ... kes naxwaze 70 hûrdem li bendê bimîne. Sedema guhertina nêzîkatiyê ev bû

Roja # -601: Ansible û molekul

Meriv çawa dest bi ceribandina Ansible dike, di salekê de projeyê nûve bike û dîn nebe

Bi têgihiştinî, ev dişibihe metbexê testê, tenê me ceribandina rolê bar kir doker û stûn guhert. Wekî encamek, dem ji bo 20 rola 25-7 hûrdeman bi îstîqrar kêm bû.

Meriv çawa dest bi ceribandina Ansible dike, di salekê de projeyê nûve bike û dîn nebe

Bi zêdekirina hejmara rolên ceribandin 17 û lînkirina 45 rolan, me ev di 28 hûrdeman de li ser 2 xulamên jenkins meşandin.

Roja #167: Zêdekirina testên Ansible li projeyê

Meriv çawa dest bi ceribandina Ansible dike, di salekê de projeyê nûve bike û dîn nebe

Bi îhtimaleke mezin, ew ê ne mumkun be ku bi lez û bez karê refaktorkirinê were kirin. Pêdivî ye ku peywir were pîvandin da ku hûn wê bikin perçeyên piçûk û bi kevçîyek fîlan perçe perçe bixwin. Pêdivî ye ku têgihîştinek hebe ku hûn di rêça rast de dimeşin, heya kengê biçin.

Meriv çawa dest bi ceribandina Ansible dike, di salekê de projeyê nûve bike û dîn nebe

Bi gelemperî, ne girîng e ka ew ê çawa were kirin, hûn dikarin li ser kaxezek binivîsin, hûn dikarin çîtikan li ser dolabê bixin, hûn dikarin di Jira de peywiran biafirînin, an jî hûn dikarin Google Docs vekin û rewşa heyî binivîsin. va. Ling ji rastiya ku pêvajo ne zû ye, mezin dibin, ew ê dirêj û bêhêz be. Ne mimkûn e ku kes bixwaze ku hûn ji ramanan bişewitînin, westiyayî bibin û di dema refaktorkirinê de serdest bibin.

Refactoring hêsan e:

  • Xwarin.
  • Xew.
  • Navê dizî.
  • testa IaC.
  • Dûbare

û em vê yekê dubare dikin heta ku em bigihîjin armanca armanckirî.

Meriv çawa dest bi ceribandina Ansible dike, di salekê de projeyê nûve bike û dîn nebe

Dibe ku ne gengaz be ku meriv tavilê dest bi ceribandina her tiştî bike, ji ber vê yekê peywira me ya yekem ev bû ku em bi linting û kontrolkirina hevoksaziyê dest pê bikin.

Roja # 181: Kesk Build Master

Meriv çawa dest bi ceribandina Ansible dike, di salekê de projeyê nûve bike û dîn nebe

Linting pêngavek yekem a piçûk berbi Green Build Master e. Ev ê hema hema tiştek neşikîne, lê ew ê bihêle ku hûn pêvajoyên debug bikin û li Jenkins avahiyên kesk çêbikin. Fikir ev e ku di nav tîmê de adet pêşve bibin:

  • Testên sor xirab in.
  • Ez hatim ku tiştek rast bikim û di heman demê de kodê ji ya beriya we hinekî çêtir bikim.

Roja #193: Ji lincê heya ceribandinên yekîneyê

Meriv çawa dest bi ceribandina Ansible dike, di salekê de projeyê nûve bike û dîn nebe

Piştî ku hûn pêvajoya girtina kodê di nav masterê de ava bikin, hûn dikarin pêvajoya başkirina gav-gav-gav bidin dest pê kirin - li şûna lingan bi rolên destpêkirinê re, hûn jî dikarin wê bêyî bêhêziyê bikin. Pêdivî ye ku hûn fêm bikin ka meriv çawa rolan bicîh tîne û ew çawa dixebitin.

Roja #211: Ji yekîneyê heya ceribandinên entegrasyonê

Meriv çawa dest bi ceribandina Ansible dike, di salekê de projeyê nûve bike û dîn nebe

Gava ku piraniya rolan bi ceribandinên yekîneyê ve têne nixumandin û her tişt tê rijandin, hûn dikarin li ser lê zêdekirina ceribandinên entegrasyonê biçin. Ewan. Di binesaziyê de ne yek kerpîçek ceribandinê, lê berhevokek wan, mînakî, mîhengek nimûneyek tevahî.

Meriv çawa dest bi ceribandina Ansible dike, di salekê de projeyê nûve bike û dîn nebe

Bi karanîna jenkins, me gelek qonax çêkirin ku rol / pirtûkên lîstikê bi hev re xêz kirin, dûv re ceribandinên yekîneyê di konteyneran de, û di dawiyê de ceribandinên entegrasyonê.

Jenkins + Docker + Ansible = Tests

Meriv çawa dest bi ceribandina Ansible dike, di salekê de projeyê nûve bike û dîn nebe

  1. Depoyê kontrol bikin û qonaxên avakirinê biafirînin.
  2. Qonaxên pirtûka lîstikê yên lint paralel bimeşînin.
  3. Qonaxên rola lintê paralel bimeşînin.
  4. Qonaxên rola kontrolkirina hevoksaziyê paralel bimeşînin.
  5. Qonaxên rola testê bi paralel bimeşînin.
    1. Rola Lint.
    2. Girêdana bi rolên din ve kontrol bikin.
    3. Hevoksaziyê kontrol bikin.
    4. Mînaka dokerê biafirînin
    5. Molekulê/default/playbook.yml bixebitîne.
    6. Nerazîbûnê kontrol bikin.
  6. Testên entegrasyonê bimeşînin
  7. Qedandin

Roja # 271: Faktora Otobusê

Meriv çawa dest bi ceribandina Ansible dike, di salekê de projeyê nûve bike û dîn nebe

Di destpêkê de, refaktorkirin ji hêla komek piçûk a du-sê kesan ve hate kirin. Wan koda di masterê de nirxand. Bi demê re, tîmê zanîna nivîsandina kodê û vekolîna kodê pêşxist ku beşdarî belavkirina zanyariyê di derheqê binesaziyê de û çawa dixebite. Li vir xala balkêş ew bû ku nirxandêr yek bi yek, li gorî bernameyek, yanî. bi îhtîmalek hindek hûn ê hilkişin nav binesaziyek nû.

Meriv çawa dest bi ceribandina Ansible dike, di salekê de projeyê nûve bike û dîn nebe

Û divê li vir rehet be. Ew hêsan e ku meriv vekolînek bike, bibîne ku di çarçoweya kîjan peywirê de hatî kirin, û dîroka nîqaşan. Me jenkins + bitbucket + jira yekgirtî ne.

Lê bi vî rengî, vekolîn ne dermanek e; bi rengekî, em ketin koda masterê, ku me ceribandinên flopê kir:

- get_url:
    url: "{{ actk_certs }}/{{ item.1 }}"
    dest: "{{ actk_src_tmp }}/"
    username: "{{ actk_mvn_user }}"
    password: "{{ actk_mvn_pass }}"
  with_subelements:
    - "{{ actk_cert_list }}"
    - "{{ actk_certs }}"
  delegate_to: localhost

- copy:
    src: "{{ actk_src_tmp }}/{{ item.1 }}"
    dest: "{{ actk_dst_tmp }}"
  with_subelements:
    - "{{ actk_cert_list }}"
    - "{{ actk_certs }}"

Dûv re ew sererast kirin, lê bermahî ma.

get_url:
    url: "{{ actk_certs }}/{{ actk_item }}"
    dest: "{{ actk_src_tmp }}/{{ actk_item }}"
    username: "{{ actk_mvn_user }}"
    password: "{{ actk_mvn_pass }}"
  loop_control:
    loop_var: actk_item
  with_items: "{{ actk_cert_list }}"
  delegate_to: localhost

- copy:
    src: "{{ actk_src_tmp }}/{{ actk_item }}"
    dest: "{{ actk_dst_tmp }}"
  loop_control:
    loop_var: actk_item
  with_items: "{{ actk_cert_list }}"

Roja #311: Lezkirina ceribandinan

Meriv çawa dest bi ceribandina Ansible dike, di salekê de projeyê nûve bike û dîn nebe

Bi demê re, bêtir ceribandin hebûn, avahî hêdîtir dimeşin, di rewşa herî xirab de heya saetekê. Li ser yek ji retroyan hevokek mîna "baş e ku ceribandin hene, lê hêdî ne" hebû. Wekî encamek, me dev ji ceribandinên entegrasyonê yên li ser makîneyên virtual berda û wan ji bo Docker adapte kir ku wê zûtir bike. Di heman demê de me testinfra bi verastkerek ansible veguhezand da ku hejmara amûrên têne bikar anîn kêm bike.

Meriv çawa dest bi ceribandina Ansible dike, di salekê de projeyê nûve bike û dîn nebe

Bi awayekî hişk, komek tedbîr hebûn:

  1. Veguhere docker.
  2. Testkirina rolê, ku ji ber pêwendiyan tê dubare kirin, rake.
  3. Hejmara koleyan zêde bike.
  4. Fermana ceribandinê.
  5. Kapasîteya lincê GIŞT herêmî bi yek fermanê.

Meriv çawa dest bi ceribandina Ansible dike, di salekê de projeyê nûve bike û dîn nebe

Wekî encamek, Pipeline li ser jenkins jî yekgirtî bû

  1. Qonaxên avakirinê biafirînin.
  2. Lint hemû di paralel.
  3. Qonaxên rola testê bi paralel bimeşînin.
  4. Qedandin.

Ders hîn bûn

Ji guherbarên gerdûnî dûr bixin

Ansible guhêrbarên gerdûnî bikar tîne, di formê de çareseriyek qismî heye taybet_role_vars, lê ev ne dermanek e.

Ez ji we re mînakek bidim. Bila ji me re hebe role_a и role_b

# cat role_a/defaults/main.yml
---
msg: a

# cat role_a/tasks/main.yml
---
- debug:
    msg: role_a={{ msg }}

# cat role_b/defaults/main.yml
---
msg: b

# cat role_b/tasks/main.yml
---
- set_fact:
    msg: b
- debug:
    msg: role_b={{ msg }}

- hosts: localhost
  vars:
    msg: hello
  roles:
    - role: role_a
    - role: role_b
  tasks:
    - debug:
        msg: play={{msg}}

Meriv çawa dest bi ceribandina Ansible dike, di salekê de projeyê nûve bike û dîn nebe

Tiştê xweş ev e ku encama pirtûkên lîstikê dê bi tiştên ku her gav ne diyar in ve girêdayî be, wek mînak rêza rêzkirina rolan. Mixabin, ev cewhera Ansible ye û ya çêtirîn ku dikare were kirin ev e ku meriv cûreyek peymanek bikar bîne, mînakî, di hundurê rolek de, tenê guhêrbara ku di vê rolê de hatî destnîşan kirin bikar bîne.

BAD: guherbara gerdûnî bikar bînin.

# cat roles/some_role/tasks/main.yml
---
debug:
  var: java_home

BAŞ: V defaults guherbarên pêwîst diyar bike û paşê tenê wan bikar bîne.

# cat roles/some_role/defaults/main.yml
---
r__java_home:
 "{{ java_home | default('/path') }}"

# cat roles/some_role/tasks/main.yml
---
debug:
  var: r__java_home

Guherbarên rola pêşgir

BAD: guherbara gerdûnî bikar bînin.

# cat roles/some_role/defaults/main.yml
---
db_port: 5432

BAŞ: Di rolên ji bo guhêrbaran de, guhêrbarên ku bi navê rolê pêşgir têne bikar anîn; ev, bi nihêrîna li envanterê, dê hêsantir bike ka çi diqewime.

# cat roles/some_role/defaults/main.yml
---
some_role__db_port: 5432

Guherbara kontrola loop bikar bînin

BAD: Guherbara standard di lûpan de bikar bînin item, heke ev peywir/pirtûka lîstikê li deverekê hebe, dibe ku ev bibe sedema tevgerek neçaverêkirî

---
- hosts: localhost
  tasks:
    - debug:
        msg: "{{ item }}"
      loop:
        - item1
        - item2

BAŞ: Ji nû ve guhêrbarek di hêlekê de pênase bike loop_var.

---
- hosts: localhost
  tasks:
    - debug:
        msg: "{{ item_name }}"
      loop:
        - item1
        - item2
      loop_control:
        loop_var: item_name

Guherbarên têketinê kontrol bikin

Me li hev kir ku em pêşpirtikên guhêrbar bikar bînin; ne zêde ye ku em kontrol bikin ku ew wekî ku em hêvî dikin hatine destnîşan kirin û, mînakî, ji hêla nirxek vala ve nehatine derbas kirin.

BAŞ: Guherbaran kontrol bikin.

- name: "Verify that required string variables are defined"
  assert:
    that: ahs_var is defined and ahs_var | length > 0 and ahs_var != None
    fail_msg: "{{ ahs_var }} needs to be set for the role to work "
    success_msg: "Required variables {{ ahs_var }} is defined"
  loop_control:
    loop_var: ahs_var
  with_items:
    - ahs_item1
    - ahs_item2
    - ahs_item3

Ji ferhengên haş dûr bixin, avahiyek guncan bikar bînin

Ger rolek di yek ji parametreyên xwe de li benda haş/ferhengekê be, wê hingê heke em bixwazin yek ji pîvanên zarokê biguhezînin, pêdivî ye ku em tevahî hash/ferhengê bişopînin, ku dê tevliheviya veavakirinê zêde bike.

BAD: Haş/ferheng bikar bînin.

---
user:
  name: admin
  group: admin

BAŞ: Avahiyek guhêrbar a davî bikar bînin.

---
user_name: admin
user_group: "{{ user_name }}"

Lîstik û rolên bêhêz biafirînin

Rol û pirtûkên lîstikê divê bêhêz bin, ji ber vekêşana konfigurasyonê û tirsa şikandina tiştek kêm dike. Lê heke hûn molekulê bikar bînin, wê hingê ev tevgera xwerû ye.

Ji karanîna modulên şêlê fermanê dûr bixin

Bi karanîna modulek şêlê, li şûna ya ragihandinê, ku bingeha Ansible-yê ye, dibe sedema paradîgmayek danasîna mecbûrî.

Rolên xwe bi molekulê ceribandin

Molekul tiştekî pir maqûl e, em li çend senaryoyan binêrin.

Molekul Mînakên Pirjimar

В molecule.yml di beşa platforms hûn dikarin gelek mêvandarên ku hûn dikarin bicîh bikin diyar bikin.

---
    driver:
      name: docker
    platforms:
      - name: postgresql-instance
        hostname: postgresql-instance
        image: registry.example.com/postgres10:latest
        pre_build_image: true
        override_command: false
        network_mode: host
      - name: app-instance
        hostname: app-instance
        pre_build_image: true
        image: registry.example.com/docker_centos_ansible_tests
        network_mode: host

Li gorî vê yekê, ev mêvandar dikarin hingê bibin converge.yml bikaranîn:

---
- name: Converge all
  hosts: all
  vars:
    ansible_user: root
  roles:
    - role: some_role

- name: Converge db
  hosts: db-instance
  roles:
    - role: some_db_role

- name: Converge app
  hosts: app-instance
  roles:
    - role: some_app_role

Verifkerê Ansible

Di molekulê de gengaz e ku meriv ansible bikar bîne da ku kontrol bike ka mînak bi rengek rast hatî mîheng kirin, ji bilî vê yekê, ev ji berdana 3-ê ve wekî xwerû ye. Ew ne bi qasî testinfra/inspec maqûl e, lê em dikarin kontrol bikin ku naveroka pelê bi hêviyên me re têkildar e:

---
- name: Verify
  hosts: all
  tasks:
    - name: copy config
      copy:
        src: expected_standalone.conf
        dest: /root/wildfly/bin/standalone.conf
        mode: "0644"
        owner: root
        group: root
      register: config_copy_result

    - name: Certify that standalone.conf changed
      assert:
        that: not config_copy_result.changed

An jî karûbarê bicîh bikin, li bendê bin ku ew peyda bibe û ceribandinek dûmanê bikin:

---
  - name: Verify
    hosts: solr
    tasks:
      - command: /blah/solr/bin/solr start -s /solr_home -p 8983 -force
      - uri:
          url: http://127.0.0.1:8983/solr
          method: GET
          status_code: 200
        register: uri_result
        until: uri_result is not failed
        retries: 12
        delay: 10
      - name: Post documents to solr
        command: /blah/solr/bin/post -c master /exampledocs/books.csv

Mantiqa tevlihev bixin nav modul û pêvekan

Ansible parêzvanek nêzîkatiyek ragihandinê dike, ji ber vê yekê gava ku hûn şaxkirina kodê, veguherîna daneyê, modulên şêlê dikin, xwendina kod dijwar dibe. Ji bo ku hûn bi vê yekê re şer bikin û fêmkirina wê hêsan bimînin, ne zêde ye ku hûn bi çêkirina modulên xwe bi vê tevliheviyê re şer bikin.

Bi kurtî Serişteyên & Tricks

  1. Ji guherbarên gerdûnî dûr bixin.
  2. Guherbarên rola pêşgir.
  3. Guherbara kontrola loop bikar bînin.
  4. Guherbarên têketinê kontrol bikin.
  5. Ji ferhengên haş dûr bixin, avahiyek guncan bikar bînin.
  6. Lîstik û rolên bêhêz biafirînin.
  7. Ji karanîna modulên şêlê fermanê dûr bixin.
  8. Rolên xwe bi molekulê ceribandin.
  9. Mantiqa tevlihev bixin nav modul û pêvekan.

encamê

Meriv çawa dest bi ceribandina Ansible dike, di salekê de projeyê nûve bike û dîn nebe

Hûn nekarin tenê biçin û binesaziya li ser projeyek nûve bikin, hetta ku we IaC hebe. Ev pêvajoyek dirêj e ku sebir, dem û zanînê hewce dike.

UPD1 2020.05.01 20:30 - Ji bo profîla seretayî ya pirtûkên lîstikê hûn dikarin bikar bînin callback_whitelist = profile_tasks fêm bikin ka çi bi rastî ji bo demek dirêj dixebite. Paşê em derbas dibin Klasîkên lezkirina Ansible. Hûn jî dikarin biceribînin mitogen
UPD2 2020.05.03 16:34 - Versiyonek îngilîzî

Source: www.habr.com

Add a comment