Как установить -t? - PullRequest
       2

Как установить -t?

1 голос
/ 07 апреля 2020

У меня есть следующее утверждение, которое я хотел бы перевести на Ansible:

$ curl -L https://github.com/drone/drone-cli/releases/latest/download/drone_linux_amd64.tar.gz | tar zx
$ sudo install -t /usr/local/bin drone  

Как построить для него задачу Ansible?

Я пробовал:

 - name: Extract droner exec runner into /usr/local/bin
   unarchive:
     src: drone_linux_amd64.tar.gz
     dest: /usr/local/bin/
     mode: "0664"

Но все работает не так, как ожидалось.

Ответы [ 2 ]

1 голос
/ 07 апреля 2020
Команда

install управляет правами доступа к файлу, следя за тем, чтобы разрешения на выполнение добавлялись в файл во время установки.

unarchive просто извлекает содержимое файла архива в место назначения. Задайте для задачи нужное значение mode, в этом случае, чтобы сделать ее исполняемой, добавьте разрешение +x.

- name: Extract droner exec runner into /usr/local/bin
   unarchive:
     src: drone_linux_amd64.tar.gz
     dest: /usr/local/bin/
     mode: "a+x"

a+x, предоставив разрешение на выполнение всем ожидающим команду drone используется для разных пользователей.

1 голос
/ 07 апреля 2020
- hosts: localhost
  become: yes
  gather_facts: no
  tasks:
     - name: Get the file from github
       get_url:
            url: "https://github.com/drone/drone-cli/releases/latest/download/drone_linux_amd64.tar.gz"
            dest: /tmp/drone_linux_amd64.tar.gz
     - name: Unarchive the file
       unarchive:
            src: /tmp/drone_linux_amd64.tar.gz
            dest: /tmp
            mode: 0664
     - name: Install
       shell:
            cmd: install -t /usr/local/bin drone
            chdir: /tmp

Задача 1. Извлечение файла из github с помощью get_url. Вы также можете использовать модуль оболочки. модуль get_url Задача 2: разархивировать файл, используя модуль разархивирования. разархивировать модуль Задача 3: Установить с помощью команды оболочки модуль оболочки

Я разархивировал его в папке tmp. а затем установил его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...