{"id":22125182,"url":"https://github.com/le-phare/ansible-deploy","last_synced_at":"2025-09-12T11:38:44.374Z","repository":{"id":33896914,"uuid":"114661810","full_name":"le-phare/ansible-deploy","owner":"le-phare","description":"Common deploy tasks for projects made at Le Phare","archived":false,"fork":false,"pushed_at":"2024-09-13T07:25:14.000Z","size":223,"stargazers_count":3,"open_issues_count":4,"forks_count":1,"subscribers_count":8,"default_branch":"master","last_synced_at":"2024-09-14T06:10:44.853Z","etag":null,"topics":["ansible"],"latest_commit_sha":null,"homepage":null,"language":"Jinja","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/le-phare.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-12-18T16:15:45.000Z","updated_at":"2024-09-13T07:24:35.000Z","dependencies_parsed_at":"2024-09-13T02:53:14.841Z","dependency_job_id":null,"html_url":"https://github.com/le-phare/ansible-deploy","commit_stats":null,"previous_names":[],"tags_count":30,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/le-phare%2Fansible-deploy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/le-phare%2Fansible-deploy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/le-phare%2Fansible-deploy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/le-phare%2Fansible-deploy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/le-phare","download_url":"https://codeload.github.com/le-phare/ansible-deploy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227590206,"owners_count":17790448,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ansible"],"created_at":"2024-12-01T16:18:02.182Z","updated_at":"2025-09-12T11:38:44.350Z","avatar_url":"https://github.com/le-phare.png","language":"Jinja","funding_links":[],"categories":[],"sub_categories":[],"readme":"# lephare.ansible-deploy\n\nCommon deploy tasks for projects made at Le Phare.\n\n## Dependencies\n\n- [ansistrano.deploy](https://github.com/ansistrano/deploy)\n- [cbrunnkvist/ansistrano-symfony-deploy](https://github.com/cbrunnkvist/ansistrano-symfony-deploy)\n\n## Support matrix\n\n- lephare/ansible:2.0.0 - Ansible 2.17 - Python 3.7 - 3.12 (Target node)\n- lephare/ansible:1.12.3 - Ansible 2.15.4 - Python 2.7 or Python 3.5 - 3.11 (Target node)\n\nSee [Ansible core support matrix](https://docs.ansible.com/ansible/latest/reference_appendices/release_and_maintenance.html#ansible-core-support-matrix)\n\n## Documentation\n\n* [Workflow overview](docs/workflow.md)\n* [Cachetool](docs/cachetool.md)\n* Composer:\n  * [Private registry](docs/composer/private-registry.md)\n  * [Dump Environment](docs/composer/dump-env.md)\n* Symfony:\n  * [Messenger](docs/symfony/messenger.md)\n  * [Secrets](docs/symfony/secrets.md)\n* [Permissions](docs/permissions.md)\n* [Remove files](docs/remove_files.md)\n\n## Role Variables\n\n`defaults` vars declared in this module can be found here: [defaults/main.yml](defaults/main.yml)\n\nThis module overrides defaults vars from `cbrunnkvist.ansistrano-symfony-deploy` and `ansistrano.deploy`.\nThese overrides can be found here: [vars/main.yml](vars/main.yml)\n\n## Example Playbook\n\n```yaml\n---\n- name: Deploy app\n  hosts: app\n  roles:\n    - lephare.ansible-deploy\n  vars:\n    lephare_rollbar_token: \u003ctoken\u003e\n    ansistrano_git_repo: git@gitlab.com:foo/bar.git\n    ansistrano_shared_paths:\n      - var/logs\n      - var/sessions\n      - var/http_cache\n    ansistrano_shared_files:\n      - app/config/parameters.yml\n```\n\n## Optional tasks\n\n### Dump database before composer\n\n**NB: Only works with postgres installed on the app node**\n\nBackup la base de données de la version courante lors du déploiement. Un fichier portant le nom de\nla base de données est placer dans la release courante.\n\nEnable task:\n\n```yaml\nlephare_dump_database: true\n```\n\nSet vars:\n\n```yaml\napp_database_name: \"{{ db_pull_remote_database_name }}\" # required\napp_database_login_host: \"locahost\" # optional\napp_database_user: \"{{ db_pull_remote_database_user }}\" # required\napp_database_password: \"{{ db_pull_remote_database_password }}\" # required\napp_database_login_port: 5432 # optional, default 5432\n```\n\n## Use with docker\n\nWe use a docker image `lephare/ansible` to deploy our projects.\n\n```shell\ndocker run -it --rm \\\n    -v $(shell pwd):/app\n    -v $(SSH_AUTH_SOCK):/ssh-agent \\\n    -v $(HOME)/.ssh:/home/ansible/.ssh:ro \\\n    -e SSH_AUTH_SOCK=/ssh-agent \\\n    lephare/ansible \\\n    ansible-playbook \\\n    -i ansible/production/hosts \\\n    ansible/deploy.yml\n```\n\n## Restore an older PostgreSQL database using db-pull in Docker\n\n**NB: We only support PostgreSQL versions\ncurrently [supported by Alpine Linux](https://pkgs.alpinelinux.org/packages?name=postgresql%3F%3F-client)**\n\nSet vars:\n\n```yaml\ndb_pull_postgresql_createdb_binary_path: \"/usr/libexec/postgresql15/createdb\"\ndb_pull_postgresql_dropdb_binary_path: \"/usr/libexec/postgresql15/dropdb\"\ndb_pull_postgresql_pg_restore_binary_path: \"/usr/libexec/postgresql15/pg_restore\"\n\ndb_pull_postgresql_pg_dump_binary_path: \"/usr/lib/postgresql/15/bin/pg_dump\" # Path on the remote machine (Debian in this example). Only needed if the default remote `pg_dump` binary isn't the one you want.\n```\n\n## Contribute\n\nClone or fork the repository and make your change in a branch (below is an example for a \"fastcgi\" branch).\n\nYou can test your modification by building your own docker image:\n\n```shell\ncd docker\ndocker build -f Dockerfile.dev .. -t lephare/ansible:fastcgi --no-cache\n```\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fle-phare%2Fansible-deploy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fle-phare%2Fansible-deploy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fle-phare%2Fansible-deploy/lists"}