-
Notifications
You must be signed in to change notification settings - Fork 0
快速開始
- 安裝:
- wsl2:https://www.thomaspreischl.de/ansible-wsl-windows/
- ubuntu 使用pip安裝
-
官方建議使用pip install --user ansible
-
設定ssh登入 ssh-copy-id
4.1使用ssh-agent fordwarding 管理密碼 A -> B -> gitlab 的ssh都有使用passphrase 開啟ssh-agent
eval $(ssh-agent)
使用ssh-agent add加入指定的pub key
ssh-add <ssh pub key file>
4.2.使用ansible-vault 加密ssh 密碼
Protecting sensitive variables with ansible-vault
https://docs.ansible.com/ansible/latest/network/getting_started/first_inventory.html#protecting-sensitive-variables-with-ansible-vault
ansible-vault encrypt_string --vault-id id_for_this_string@prompt 'some_secret_string' --name 'ansible_password'
把產生出來的密文直接貼到host裡面
apt-get install sshpass
ansible all -m ping --vault-id id_for_this_string@prompt
參考:
https://www.middlewareinventory.com/blog/ansible-git-example/
https://blog.gtwang.org/linux/using-ssh-agent-forwarding-to-avoid-being-asked-passphrase/
https://www.jeffgeerling.com/blog/2018/cloning-private-github-repositories-ansible-on-remote-server-through-ssh
後端部落格
logging
FastAPI
Flask
深入了解技術
Docker
- docker設定container時區
- 刪除舊資料
- 縮小Docker Image體積
- 限制log大小
- temp file size
- 網路設定
- volume
- 更換docker資料夾, 解決docker 塞滿/var/lib/的問題
- 刪除container network volume
- 容易混淆觀念澄清
- Dodkerfile 指令說明
- 搬動windows docker的位置
- 使用Supervisor啟動多個應用程式
- 讓命令介面不再詢問使用者問題
- .dockerignore 白名單
- 使用gunicorn時可以顯示ptint的文字
- ubuntu 更改python預設版本以及pip的python版本
Docker Compose
Python
- 製作C library讓python 呼叫
- logger dictConfig 範例
- Python Standard Library
- 了解GIL
- 製作package:增加非程式碼檔案
- 製作package
- 專案檔案結構模板
- 使用Dramatiq進行非同步下載檔案
- Object serialization
- yield
- pip
- 使用Celery進行非同步下載檔案
- 視覺化監看Celery狀態:Flower
- 訊息列隊用於機器學習專案
- 理解__file__
- exception
- Iterate Through a Dictionary
- pdb
- 管理設定檔
- profiling
- lru_cache
- glob
- 發布套件到gitlab
- ISO時間
- 使用FileInput進行文字替換
- asyncio
- coroutine
- telegram error handler
- Concurrency vs. Parallelism
- Exception 資訊
- return self的用意
- 記憶體管理
- 處理超大list
- retry函式庫
- 程式計時
- 文件註解
- 測試自己的package
- mac出現ssl錯誤問題
- typehint 避免環狀import的方法
- weak reference
- 缺少MSVC的解法
- 管理python import
測試
非同步處理,平行處理
- asyncio 範例
- asyncio 文件
- Concurrency
- Async IO
- Threading
- Debugging with asyncio
- asyncio with multi-threading
- 多執行緒印出錯誤訊息
- 正確使用 asyncio
- 多執行緒、多處理程序與非同步共用queue
- 多線程class 成員變數消失
- 多線程與ray比較
- 關閉thread
- multiprocess 使用log
- 在process開eventloop
- asyncio 的三種情境
- 同步包裝成非同步
profiling
Celery
Jupyter
Ubuntu
- 經由ssh通道使用遠端桌面
- Linux Documentation Project Guides
- 硬碟空間
- 比cp更好用的rsync
- emacs
- screen 快捷鍵
- 檔案權限
- setting vnc server
- check time zone
- 關閉占用某port的process
- 系統監控工具
- 關閉rm並且使用trash
- 空間不足無法升級軟體
- 查看資料夾佔用空間
- 關閉伺服器睡眠功能
- 遠端桌面
- 設定時區
- 設定防火牆
- 資安設定
- 清理快滿的/boot
- 清理舊檔案
- 自動清理/boot
- 救回誤刪的檔案
- 設定VNC server
- 各種安裝bash檔
SQLalchemy
pymysql
MySQL
- MySQL 快捷鍵
- 用MariaDB Audit Plugin查看DB log
- Ubuntu20 mysqlworkbench
- 備份mysql
- 用docker compose 連線到google cloud SQL
- sqlalchemy 呼叫stored procedure
Django
- migrate
- config
- class base view
- separate developing and production setting
- 背景工作
- Django Celery
- migration 失敗解決
- RuntimeWarning: DateTimeField received a naive datetime
- 解決Access-Control-Allow-Origin header問題
HTML
Vim
tmux
Socket
git
- install git cz
- 停止追蹤檔案
- insufficient permission for adding an object
- 顯示所有commit 包含遺失的
- 禁止直接commit到master branch
- 安裝github上面的zip
- 指定git clone使用特定的ssh key
- 更換branch位置
- 在bash顯示目前branch
- submodule
- 使用gpg簽署commit
- gpg無法使用cli輸入密碼的解法
desigh
IDE
SSL
Nginx
Apache
Screen
書籍
ELK
微服務
vscode
javascript
爬蟲
Selenium
pytest
HTTP
工具
VScode
Ansible
Streaming
Windows
vscode
bash
文件 *用sphinx自動生成文件
github io架站
SSH
防火牆
工具包
Serverless
OAuth
Google cloud