Add automated deployment via Woodpecker CI
This commit is contained in:
		
							
								
								
									
										26
									
								
								.woodpecker.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								.woodpecker.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,26 @@ | |||||||
|  | pipeline: | ||||||
|  |   build: | ||||||
|  |     image: klakegg/hugo:ext-alpine-ci | ||||||
|  |     commands: | ||||||
|  |       - hugo | ||||||
|  |       - tar czvf site.tar.gz public/ | ||||||
|  |    | ||||||
|  |   upload: | ||||||
|  |     image: plugins/s3 | ||||||
|  |     settings: | ||||||
|  |       endpoint: https://api.minio.arsenm.dev | ||||||
|  |       path_style: true | ||||||
|  |       bucket: site | ||||||
|  |       access_key: AkdgUdmzEJBoiYa2 | ||||||
|  |       secret_key: | ||||||
|  |         from_secret: minio_secret_key | ||||||
|  |       source: site.tar.gz | ||||||
|  |       target: / | ||||||
|  |  | ||||||
|  |   deploy: | ||||||
|  |     image: loq9/drone-nomad | ||||||
|  |     settings: | ||||||
|  |       addr: http://192.168.100.62:4646 | ||||||
|  |       template: template.nomad | ||||||
|  |     environment: | ||||||
|  |       - PLUGIN_WATCH_DEPLOYMENT=true | ||||||
							
								
								
									
										47
									
								
								template.nomad
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								template.nomad
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,47 @@ | |||||||
|  | job "site" { | ||||||
|  | 	region = "global" | ||||||
|  | 	datacenters = ["dc1"] | ||||||
|  | 	type = "service" | ||||||
|  |  | ||||||
|  | 	group "site" { | ||||||
|  | 		count = 2 | ||||||
|  |  | ||||||
|  | 		network { | ||||||
|  | 			port "nginx" { | ||||||
|  | 				to = 80 | ||||||
|  | 			} | ||||||
|  | 		} | ||||||
|  |  | ||||||
|  | 		task "nginx" { | ||||||
|  | 			driver = "docker" | ||||||
|  |  | ||||||
|  | 			config { | ||||||
|  | 				image = "nginx:latest" | ||||||
|  | 				ports = ["nginx"] | ||||||
|  | 				volumes = ["local/site/public:/usr/share/nginx/html:ro"] | ||||||
|  | 			} | ||||||
|  | 			 | ||||||
|  | 			artifact { | ||||||
|  | 				source = "https://api.minio.arsenm.dev/site/site.tar.gz" | ||||||
|  | 				destination = "local/site" | ||||||
|  | 			} | ||||||
|  |  | ||||||
|  | 			service { | ||||||
|  | 				name = "site" | ||||||
|  | 				port = "nginx" | ||||||
|  |  | ||||||
|  | 				tags = [ | ||||||
|  | 					"traefik.enable=true", | ||||||
|  |  | ||||||
|  | 					"traefik.http.middlewares.site-redir.redirectRegex.regex=^https://arsenm\\.dev", | ||||||
|  | 					"traefik.http.middlewares.site-redir.redirectRegex.replacement=https://www.arsenm.dev", | ||||||
|  | 					"traefik.http.middlewares.site-redir.redirectRegex.permanent=true", | ||||||
|  | 					 | ||||||
|  | 					"traefik.http.routers.site.rule=Host(`arsenm.dev`) || Host(`www.arsenm.dev`)", | ||||||
|  | 					"traefik.http.routers.site.middlewares=site-redir", | ||||||
|  | 					"traefik.http.routers.site.tls.certResolver=letsencrypt", | ||||||
|  | 				] | ||||||
|  | 			} | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | } | ||||||
		Reference in New Issue
	
	Block a user