- Windowsã§ã€ã³ãã©ã¹ãã©ã¯ãã£ã管çããå Žåã®PowershellDSCã®åäœãšAnsibleãšã®éãã
- Ansibleã«åãæ¿ããçç±ã
- 圌ããçŽé¢ããåé¡ãšãã®è§£æ±ºæ¹æ³ã
- Ansibleã«åãæ¿ããåŸã®æåŸ ãšçŸå®ã®æ¯èŒã
- 誰ãPowershellDSCãéžæãã誰ãAnsibleãéžæããå¿ èŠããããŸãã
PowerShellDSCãæåã«éžæãããçç±
Mindboxã¯ãäž»ã«Windowsã€ã³ãã©ã¹ãã©ã¯ãã£ïŒHyper-VãIISãMS SQL ServerïŒã«ãããããããéçºãããDevOps / SREæåãæã£ãŠããŸããå瀟ã¯åŸã ã«LinuxãšãªãŒãã³ãœãŒã¹ã«ç§»è¡ããŠããŸãããããã§ãWindowsãæ®åããŠããŸãã
ãã®ã€ã³ãã©ã¹ãã©ã¯ãã£ã管çããããã«ã圌ãã¯ã€ã³ãã©ã¹ãã©ã¯ãã£ã³ãŒãã䜿çšããããšãèšç»ããŸããããããèšè¿°ãããªããžããªã«ä¿åããŠãããããŒã«ã䜿çšããŠã³ãŒããå®éã®ã€ã³ãã©ã¹ãã©ã¯ãã£ã«å€æããŸããAnsibleã¯æã人æ°ã®ããã³ãŒãããŒã¹ã®ã€ã³ãã©ã¹ãã©ã¯ãã£ç®¡çããŒã«ã§ãããäŒçµ±çã«Linuxã®äžçã«é¢é£ä»ããããŠããŸããããã€ãã£ãã§Windowsåºæã®ãã®ãå¿ èŠã ã£ããããPowerShellDSCãéžæããŸããã
PowershellDSCã®ããã¿
PowerShell Desired State ConfigurationïŒDSCïŒã¯ãWindowsã«ããã«ä»å±ãããµãŒãã¹ã§ãããæ§æãã¡ã€ã«ã䜿çšããŠã€ã³ãã©ã¹ãã©ã¯ãã£ã管çããã®ã«åœ¹ç«ã¡ãŸãã PowerShellã®ã€ã³ãã©ã¹ãã©ã¯ãã£ã³ãŒããå ¥åãšããŠåãå ¥ããã·ã¹ãã ãæ§æããã³ãã³ãã«å éšçã«å€æããŸãã Windowsã³ã³ããŒãã³ãã®ã€ã³ã¹ããŒã«ãã¬ãžã¹ããªããŒã®å€æŽããã¡ã€ã«ã®äœæããµãŒãã¹ã®æ§æãªã©ã®ç°¡åãªæäœã«å ããŠãPowerShellã¹ã¯ãªãããéåžžè¡ãå€ãã®ããšãå®è¡ã§ããŸããããšãã° ãDNSæ§æã®å®å šãªãµã€ã¯ã«ãŸã㯠é«å¯çšæ§MS SQLServerã€ã³ã¹ã¿ã³ã¹ã
å³ãžã®äŸ¿å©ãªãªã³ã¯ïŒ
DSCããã¥ã¡ã³ãã®ç°¡åãªæ§æã®äŸ
ããŒã¿ãã¡ã€ã«ã®äœ¿çšæ¹æ³
SQL Server- Windows Server 2019
DSC pull server SQL Windows Server 2019
DSC Ansible
DSC | Ansible | |
. pull-, , .NET Framework 4.0 WMF 5.1 | , ansible, ansible-playbook ansible-inventory. Linux-, â python | |
, | ||
Pull/push- | Pull push | push |
pull- | ||
-: , , , | -: , , | |
~1300 Gallery | ~20000 Ansible Galaxy | |
PowerShell | YAML | |
, Ansible | ||
() |
, DSC
DSCããã®æåŸ ã¯ãã¹ãŠã®ç¹ã§æºããããŠããŸããã§ããããŸããäœæ¥äžã«DSCã§ã¯å¯Ÿå¿ã§ããªãæ°ããªããŒãºãçºçããŸããã
éçºè ã¯ãSREã®å©ããªãã«èªåã§ããŒã«ã䜿çšããããšã¯ã§ããŸãããã»ãšãã©ãã¹ãŠã®ããŒã ãSREãæã£ãŠããŸãããIaCããŒã«ã¯ãéçºè ãSREã䜿çšããŠã30å以å ã§äœ¿çšã§ããããã«ååã«åçŽã§ããå¿ èŠããããŸãã DSCã䜿çšãããšã宣èšåã³ãŒãã ãã§ãªããPowershellæ§é ã䜿çšã§ããŸããããã¯ãä¿å®ãå°é£ãªã³ãŒããã€ã³ãã©ã¹ãã©ã¯ãã£ã®é害ã«ã€ãªããã³ãŒããäœæããå¯èœæ§ãé«ãããšãæå³ããŸããããšãã°ãäžé©åãªãã©ã¡ãŒã¿ã䜿çšããŠã¢ããªã±ãŒã·ã§ã³ãäžé©åãªç°å¢ã«ãããã€ããŸãã
ããŒãªã³ã°ããåã«ãã©ã€ã©ã³æ§æãã¹ãããããããšã¯ã§ããŸãããã©ã®å€æŽãé©çšãããã©ã®å€æŽãé©çšãããªãããæ£ç¢ºã«ç¢ºèªããŸãã
DSCãæ§æãšã³ãŒãã¹ã¿ã€ã«ã®ãã§ãã¯ãæŽçããããšã¯å°é£ã§ããæ€èšŒããŒã«ã¯ã»ãšãã©ãªããæŽæ°ãããŠããŸããã Ansibleã§ã¯ãã§ã«ãããè¡ã£ãŠããŸãã
DSCããã·ã¥ã¢ãŒãã§ã¯ãã¿ã¹ã¯ã®ã¹ããŒã¿ã¹ã远跡ãã䟿å©ãªæ¹æ³ã¯ãããŸãããæ§æããšã©ãŒã§é©çšãããå Žåã¯ã蚺æã®ããã«è¿œå ã®ã¢ã¯ã·ã§ã³ãå®è¡ããå¿ èŠããããŸããã³ãã³ããå®è¡ããŠæ§æã¢ããªã±ãŒã·ã§ã³ã®ã¹ããŒã¿ã¹ãååŸããã€ãã³ããã°ã確èªããŸããè€æ°ã®ãµãŒããŒã§ãšã©ãŒãçºçããå Žåã¯ãæéãããããŸãã
ãã«ã¢ãŒããæå©ã«ãªãããšã¯ãããŸããã§ããããã®äžã§ãæ§æã¯éåæçã«é©çšãããŸã-ã¹ãã©ãããšæŸèæãªãã§æ°ããæ§æã®é©çšããã€å®äºããããæ£ç¢ºã«ç¥ãããšã¯äžå¯èœã§ãã ãµãŒããŒãæ§æãã
2ã€ã®ç°ãªãIaCããŒã«ã®ä¹±çšãAnsibleã¯DSCãšåãããšãè¡ãããšãã§ããLinuxãã¹ããšãããã¯ãŒã¯æ©åšã®æ§æã«ã¯ãã§ã«Ansibleã䜿çšããŠããŸãã
ã©ã®ããã«ããŠDSCããAnsibleã«åãæ¿ããäºå®ã§ããã
æåã¯ãçŽ1ãæéãã¿ã¹ã¯ã¯åçŽã«èŠããŸãããäœæ¥ã®3ã€ã®æ®µéãç¹å®ããŸããã
- Ansibleã䜿çšããŠWindowsãã¹ãã«æ¥ç¶ããæ¹æ³ãåŠã³ãŸãã
- Ansibleã¢ãžã¥ãŒã«ã䜿çšããŠDSCæ§æãæžãæããŸãã
- DSCãã«ãµãŒããŒããã®ããŒã¿ããŒã¹ãããã³ãã®ä»ã®ã¢ãŒãã£ãã¡ã¯ããåé€ããŸãã
ãããDSCã§ã®ã¯ãŒã¯ãããŒãšãAnsibleã§ã®ã¯ãŒã¯ãããŒã®ç·šææ¹æ³ã§ããAnsibleOnAnsible
ã§ã®åœ¹å²ã®æšæºæ§é ã§
ã¯ãäœããæ§æããŠã€ã³ã¹ããŒã«ããè€éãªã³ãŒãã圹å²ã³ãŒãã«åé¢ãã圹å²ãå¥ã ã«åå²ããããšãèšç»ããŸããããªããžããªãã¡ã€ã³ã®Ansibleãªããžããªã§ã¯ãããŒã«ã®åŒã³åºããããŒã«ãã©ã¡ãŒã¿ã®ãªãŒããŒã©ã€ããããã³ã°ã«ãŒãããšã®ãµãŒããŒã®ãªã¹ãã®ã¿ãæ®ãå¿ èŠããããŸãããããã£ãŠãSREã ãã§ãªããéçºè ã¯ãã€ã³ãã©ã¹ãã©ã¯ãã£ã³ãŒãã®ããžãã¯ã詳ãã調ã¹ãªããŠããå¿ èŠãªãµãŒããŒã«ããŒã«ããããã€ãããããã©ã¡ãŒã¿ãŒã埮調æŽãããã§ããŸããéçºè ã¯ãSREã¬ãã¥ãŒåŸã«ã®ã¿ããŒã«ã³ãŒããä¿®æ£ã§ããŸãã
Ansibleã«åãæ¿ãããšãã«çŽé¢ããåé¡ãšãã®è§£æ±ºæ¹æ³
ä»äºãå§ãŸã£ããšããç§ãã¡ã¯èªåãã¡ãééã£ãŠããããšã«æ°ã¥ããŸãããä»äºã¯ç°¡åã§ã¯ãããŸããã§ããããªããžããªã ãã§åé¡ã¯ãããŸããã§ãããããã以å€ã¯ãããã調ã¹ãŠéçºãæ¹åããªããã°ãªããŸããã§ããã
WinRMãŸãã¯SSH
æåã®é©ãã¯ãæ¥ç¶ã¿ã€ãã®éžæã§ãããWindowsã®å ŽåãWinRMãšSSHã®2ã€ããããŸããAnsibleã®WinRMã®å®è¡ã«ã¯æéããããããšãå€æããŸãããããã¯èšã£ãŠãã Ansibleã¯Windows Server2019ã§OpenSSHããã®ãŸãŸäœ¿çšããããšãæšå¥šããŠããŸããããããŠæ°ãã解決çãèŠã€ããŸããã
- ã®ã£ã©ã¯ã·ãŒãã圹å²ããã©ãŒã¯ããŠäœãçŽããŸããã
- ç§ãã¡ã¯ããã®åœ¹å²ã«ææŠããã ãã®ãã¬ã€ããã¯ãæžããŸãããããã¯ãWinRMãä»ããŠãã¹ãã«æ¥ç¶ããå¯äžã®ãã¬ã€ããã¯ã§ãã
- Prometheus Blackbox Exporterã¯ãæšæºããŒã«ãšããŠããŒã22 / tcpããã³OpenSSHããŒãžã§ã³ãç£èŠããŸãã
- alert: SSHPortDown
expr: probe_success{job=~".*-servers-ssh",instance!~".*domain..ru"} == 0
for: 1d
annotations:
summary: "Cannot reach {{`{{ $labels.instance }}`}} with SSH"
- LDAP- , Windows- :
plugin: ldap_inventory
domain: 'ldaps://domain:636'
search_ou: "DC=domain,DC=ru"
ldap_filter: "(&(objectCategory=computer)(operatingSystem=*server*)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))"
validate_certs: False
exclude_hosts:
- db-
account_age: 15
fqdn_format: True
- OpenSSH , Windows- SSH .
- OpenSSH . Packer, Ansible:
"type": "shell-local",
"tempfile_extension": ".ps1",
"execute_command": ["powershell.exe", "{{.Vars}} {{.Script}}"],
"env_var_format": "$env:%s=\"%s\"; ",
"environment_vars": [
"packer_directory={{ pwd }}",
"ldap_machine_name={{user `ldap_machine_name`}}",
"ldap_username={{user `ldap_username`}}",
"ldap_password={{user `ldap_password`}}",
"ansible_playbooks={{user `ansible_playbooks`}}",
"github_token={{user `github_token`}}"
],
"script": "./scripts/run-ansiblewithdocker.ps1"
Ansibleã®ã³ãŒããæžãçŽããŠãããšãã«ãå®æçã«ã³ãŒãã®éè€ãçºçããŸãããããšãã°ãã»ãšãã©ãã¹ãŠã®DSCæ§æã«ã¯windows_exporterèšå®ãå«ãŸããŠããŸãã ãå¯äžã®éãã¯ããšã¯ã¹ããŒã¿ãŒã䜿çšããå¿ èŠã®ããã³ã¬ã¯ã¿ãŒ
ã§ãããéè€ããã³ãŒããåãé€ãããã«ãwindows_exporterãå¥ã®AnsibleããŒã«ã«ç§»åãããã®èšå®ã®ãã©ã¡ãŒã¿ãŒããã¹ãã°ã«ãŒãå€æ°ã«ç§»åããŸããã
ã»ã«ã³ããããèªèšŒ
ãããããã»ã«ã³ããããèªèšŒã¯ãWindowsã§Ansibleã®äœ¿çšãéå§ãã人ãçŽé¢ããæãäžè¬çãªåé¡ã§ãã ãã®èšèšã§ã¯ãããã©ã«ãã§è¿œå ã®èšå®ãªãã«ãªã¢ãŒããªãœãŒã¹ã§èªèšŒçšã®è³æ Œæ å ±ãå§ä»»ã§ããªããããã¢ã¯ã»ã¹æåŠãšã©ãŒãçºçããŸããããšãã°ããšã©ãŒãåé¿ããã«ã¯ã new_credentialsã圹ç«ã¡ãŸãããã ããAnsibleãwin_dscã¢ãžã¥ãŒã«ãä»ããŠDSCãªãœãŒã¹ãåŒã³åºãããšãã§ãããšããäºå®ãå©çšããããšããå§ãããŸãããã¡ã€ã«DSCãªãœãŒã¹ãåŒã³åºããŸããããã¯ãããã©ã«ãã§ã³ã³ãã¥ãŒã¿ãŒã¢ã«ãŠã³ãã§å®è¡ãããŸãããã®å ŽåãKerberoså§ä»»ã¯å¿ èŠãããŸããã
- name: Custom modules loaded into module directory
win_copy:
src: '\\share\dsc\modules'
dest: 'C:\Program Files\WindowsPowerShell\Modules'
remote_src: yes
- name: Custom modules loaded into module directory
win_dsc:
resource_name: File
SourcePath: '\\share\dsc\modules'
DestinationPath: 'C:\Program Files\WindowsPowerShell\Modules'
Type: Directory
Recurse: true
Force: true
MatchSource: true
åæã«ãDSCãæŸæ£ããããšã«ççŸã¯ãããŸããããAnsibleã¢ãžã¥ãŒã«ãããåé¡ã解決ã§ããå Žåã¯ããã®ãªãœãŒã¹ã䜿çšããŸããäž»ãªç®æšã¯ãDSCæ§æã®äœ¿çšãåæ¢ããããšã§ããããã¯ããªãœãŒã¹èªäœã§ã¯ãªããDSCãšã³ã·ã¹ãã ãç§ãã¡ã«é©ããŠããªãããã§ããããšãã°ãä»®æ³Hyper-Vã¹ã€ãããäœæããå¿ èŠãããå Žåã¯ãDSCãªãœãŒã¹ã䜿çšããå¿ èŠããããŸããAnsibleã«ã¯ãHyper-Væ§æã管çããããã®ããŒã«ããŸã ãããŸããã
ãããã¯ãŒã¯åæ
äžéšã®ã¿ã¹ã¯ã«ãããæ§æå¯èœãªãµãŒããŒã§ãããã¯ãŒã¯ã®åæïŒåæïŒãçºçããŸããããšãã°ãäžèšã®äŸããHyper-Vä»®æ³ã¹ã€ãããäœæããŸã ãåé¡ã¯ãDSCã§ã¯ãã®ãããªåŒã³åºãã¯æ©èœããŸãããAnsibleã§ã¯ç®¡ç察象ãã¹ããåæãããããã«å€±æããããšã§ããããã¯ãä»®æ³å€éšã¹ã€ãããäœæãããšãã«Windowsãåžžã«åæããããã§ãã解決çã¯ãã¿ã¹ã¯ã«éåæåŒæ°ãè¿œå ãã ããšã§ããããã¯ãAnsibleãã¿ã¹ã¯ããã¹ãã«éä¿¡ããæå®ãããæéåŸ æ©ããŠãããç¶æ ãèŠæ±ããæ¹æ³ã§ãã
- name: External switch present
win_dsc:
resource_name: xVMSwitch
Ensure: 'Present'
Name: 'Virtual Network'
Type: 'External'
NetAdapterName: 'TEAM_LAN'
AllowManagementOS: True
async: 10
ããªããã€ã³ãã©ã¹ãã©ã¯ãã£
ã³ãŒãã®ç§»æ€ãéå§ãããšããæ§æã®ãããèŠã€ãããŸããããããã¯ãã³ãŒãã«èšè¿°ãããŠããå 容ãšãµãŒããŒãŸãã¯ãœãããŠã§ã¢ã®å®éã®æ§æãšã®å®éã®éãã§ãããã®çç±ã¯ãDSCãäœæ¥ã®äžéšã®ã¿ãå®è¡ããæ®ãã¯ã¹ã¯ãªãããŸãã¯æ瀺ã«åŸã£ãŠæåã§å®è¡ãããå Žåãããããã§ãã
IaCã§ã®äœæ¥ã容æã«ããããã«ããã¹ãŠã®ã¹ã¯ãªãããšããã¥ã¡ã³ããåéããçµ±äžãããæ確ãªæ瀺ãäœæããŸãããããã«ãAnsibleã«èª€ã£ãŠå€æŽãå ããªãããã«ããã»ã¹ãæŽçããŸããããã¹ãŠã®ã€ã³ãã©ã¹ãã©ã¯ãã£ã³ãŒããGitHubã«ä¿åããGitHubãããžã§ã¯ããéããŠãšã³ãžãã¢ã«ã¿ã¹ã¯ãå²ãåœãŠããããã€ã³ãã©ã¹ãã©ã¯ãã£ã³ãŒããžã®å€æŽïŒãã«ãªã¯ãšã¹ãïŒãã¿ã¹ã¯ã«é¢é£ä»ããããšãã§ããŸãããããã£ãŠãå®äºããåã¿ã¹ã¯ã®å€æŽã確èªã§ããŸããã¿ã¹ã¯ã«å€æŽããªãå Žåãã¿ã¹ã¯ã¯åãå ¥ãããããä¿®æ£ã®ããã«è¿ãããŸãã
äºå®åéã®ãã°
DSCãšã¯ç°ãªããAnsibleã¯èµ·åæã«ç®¡ç察象ãã¹ãã«é¢ããäºå®ãåéãã ãããéçºè ã¯ãã¹ãã®ç¶æ ã«å¿ããŠã¿ã¹ã¯ã®åäœãå€æã§ããŸããWindowsãã¹ããããã¡ã¯ããåéããå ŽåãAnsibleã¯ã¢ãžã¥ãŒã«ã³ãŒããæ£ãããªãããã«ãšã©ãŒãã¹ããŒããå Žåããã ãŸãããããä¿®æ£ããã«ã¯ãansible.windows ã³ã¬ã¯ã·ã§ã³ãæ¥ç¶ããå¿ èŠããããŸã ãAnsibleã®ãã€ãã©ã€ã³ã¯ãåãã¬ã€ããã¯ãèµ·åããåã«ãå¿ èŠãªããŒã«ãšã³ã¬ã¯ã·ã§ã³ã®ãªã¹ããå«ãrequirements.ymlãã¡ã€ã«ã®ååšã確èªããŠããã ããããã€ã³ã¹ããŒã«ããŸããããã«ansible.windowsã³ã¬ã¯ã·ã§ã³ãè¿œå ããŸããã ã³ã¬ã¯ã·ã§ã³
[WARNING]: Error when collecting bios facts: New-Object : Exception calling ".ctor" with "0" argument(s): "Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index" At line:2
char:21 + ... $bios = New-Object -TypeName
Ansibleã®æ°ããéçºã³ã³ã»ããã§ãã以åã¯åœ¹å²ã®ã¿ãGalaxyã§é åžãããŠããŸããããä»ã§ã¯ããŸããŸãªãã©ã°ã€ã³ãšã¢ãžã¥ãŒã«ããã¬ã€ããã¯ãšåœ¹å²ã®ã³ã¬ã¯ã·ã§ã³ãèŠã€ããããšãã§ããŸãã
ãã¹ã
IaCããŒã«ããããéçºè ã«æž¡ãåã«ãAnsibleã³ãŒããä¿¡é Œã§ããäœãå£ããªãããšã確èªãããã£ãã®ã§ããDSCã®å Žåããã®ã¿ã¹ã¯ã«ã¯ç¹å¥ãªãã¬ãŒã ã¯ãŒã¯ããããŸãããç¹å¥ãªãã¹ãã¯ãããŸããã§ãã ãæ§æã¯éåžžãã¹ããŒãžã³ã°ãµãŒããŒã§æ€èšŒãããŸããããé害ãçºçããŠãæ¬ é¥ã¯çºçããŸããã§ããã
Ansibleã¯éåžžãååããŒã«ã䜿çšããŠãã¹ããããŸãã ãã¹ããå®è¡ããããã®ã©ãããŒãšããŠãLinuxã®åœ¹å²ã«ã¯äŸ¿å©ãªããŒã«ã§ãããWindowsã«ã¯åé¡ããããŸãã以åã¯ãååã¯ã€ã³ãã©ã¹ãã©ã¯ãã£èªäœãåŒãäžããããšãã§ããŸããããçŸåšãéçºè ã¯ãã®æ©äŒãæé€ããŠããŸããçŸåšãã€ã³ãã©ã¹ãã©ã¯ãã£ã¯ãDockerå ã®ååã®å©ããåããŠããŸãã¯ååã®å€éšã§æ§ç¯ãããŠããŸããDockerã§Windowsã®åœ¹å²ããã¹ãããããšã¯ãã»ãšãã©ã®å Žåäžå¯èœã§ããHyper-Vããã³ãã®ä»ã®ã»ãšãã©ã®Windowsæ©èœã¯ãDockerã³ã³ãããŒã«ã€ã³ã¹ããŒã«ãããŸãããååã®å€éšã§ãã¹ãçšã®ã€ã³ãã©ã¹ãã©ã¯ãã£ããããã€ããååå ã§å§ä»»ããããã©ã€ããŒã䜿çšããå¿ èŠããããŸã ã
ãã®åé¡ã¯ãŸã 解決ããŠããŸããããæãæçœãªãšã©ãŒãæ€åºããããŒã«ãèŠã€ããŸããã
å°åæ | æ©èœç | ã³ã¡ã³ã |
æ§æãã§ã㯠| ã³ãŒãã®æ§æãšå®è¡å¯èœæ§ããã§ãã¯ããŸã | ããŒã«ã«ããã³ãªããžããªã§æ§æãã§ãã¯ãšãªã³ãã£ã³ã°ã䜿çšããŸããããšãã°ãã³ãããåã®ãã§ãã¯ã«åã蟌ã¿ãGitHubã¢ã¯ã·ã§ã³ãæ§æããŸããããã¯ããã«ãªã¯ãšã¹ãããšã«èµ·åãããŸãã |
ãªã³ãã£ã³ã° | ã³ãŒãã®è«çãšã©ãŒããã§ãã¯ããŸã | |
ãã©ã€ã©ã³ | ãã¬ã€ããã¯ãèµ·åããåã«ããããäœãããããç¥ãããšãã§ããŸã | ãã€ãã©ã€ã³ã§ã³ãŒãããŒã«ã¢ãŠãã䜿çšããŸããcheckãã©ã°ãšdiffãã©ã°ãæå®ããŠansible-playbookãèµ·åããå€æŽãè©äŸ¡ããŠããŒã«ã¢ãŠãã確èªããŸããããŒã«ãäœæãããšãã¯ãã¿ã¹ã¯ã«ãã£ãŠã¯ãäœãæ£ç¢ºã«å€æŽããå¿ èŠãããããæ瀺çã«ç€ºãå¿ èŠãããããšãèæ ®ã«å ¥ããŠããŸããããšãã°ãwin_commandãšwin_shell |
Ansibleã®ããã¿
Ansibleãå®è£ ãããã¹ãŠã®å°é£ãå æããåŸããšã³ãžãã¢ã®ã¢ã¯ã·ã§ã³ãšèªåèµ·åã®ããã»ã¹ã圢æãããŸããã
- , Linux-. , , pull request GitHub-, .
- pull request GitHub Actions, . Linux-, . , , .
- pull request. , -, .
- . requirements.yml, GitHub- . â . . , Ansible, . pull request, .
- pull request GitHub Actions, Octopus Deploy. .
- Octopus Deploy . , ansible-playbook: --tags, --limit --extra-vars.
- , , . , .
Ansible
: DSC Ansible
DSC Ansible | :
Linux- Ansible. Linux, Ansible Linux, CI/CD Docker-. |
DSC | ã€ã³ãã©ã¹ãã©ã¯ãã£ãWindowsã®ã¿ã§ãããLinuxã䜿çšããããªãå Žåã
DSCçšã®ãªãœãŒã¹ãè¿œå ããæºåãã§ããŠããå Žåã ã€ã³ãã©ã¹ãã©ã¯ãã£ã®ç¶æ ãä¿åãããã®ããªãããä¿®æ£ããå¿ èŠããããŸãã |
Ansibleãæåããå®è£ ãã | Windows / Linuxãæ··åšããç°å¢ãå®è¡ããŠããŠãæ¢åã®ã¹ã¯ãªãããã€ã³ãã©ã¹ãã©ã¯ãã£ã³ãŒãã«å€æããCI / CDã·ã¹ãã ã䜿çšããŠãããã€ããå Žåã |
Evgeny BerendyaevãSREãšã³ãžãã¢