forked from syntaxbullet/aurorabot
feat: add bot-triggered deployment via /update deploy command
- Added Docker socket mount to docker-compose.prod.yml - Added project directory mount for git operations - Added performDeploy, isDeployAvailable methods to UpdateService - Added /update deploy subcommand for Discord-triggered deployments - Added deploy-related embeds to update.view.ts
This commit is contained in:
@@ -354,3 +354,66 @@ export function getRollbackFailedEmbed(error: string) {
|
||||
"❌ Rollback Failed"
|
||||
);
|
||||
}
|
||||
|
||||
// ============ Deploy Embeds ============
|
||||
|
||||
export function getDeployNotAvailableEmbed() {
|
||||
return createErrorEmbed(
|
||||
"Docker is not available in this environment.\n\n" +
|
||||
"Deploy via Discord requires Docker socket access. " +
|
||||
"Use the deploy script manually:\n" +
|
||||
"```bash\ncd ~/Aurora && bash shared/scripts/deploy.sh\n```",
|
||||
"❌ Deploy Unavailable"
|
||||
);
|
||||
}
|
||||
|
||||
export function getDeployCheckingEmbed() {
|
||||
return createInfoEmbed(
|
||||
"🔍 Checking for updates and preparing deployment...",
|
||||
"🚀 Deploy"
|
||||
);
|
||||
}
|
||||
|
||||
export function getDeployProgressEmbed(step: string) {
|
||||
return createInfoEmbed(
|
||||
step,
|
||||
"🚀 Deploying"
|
||||
);
|
||||
}
|
||||
|
||||
export function getDeploySuccessEmbed(previousCommit: string, newCommit: string, output: string) {
|
||||
const embed = new EmbedBuilder()
|
||||
.setTitle("🚀 Deployment Triggered")
|
||||
.setColor(0x57F287)
|
||||
.addFields(
|
||||
{
|
||||
name: "Version",
|
||||
value: `\`${previousCommit}\` → \`${newCommit}\``,
|
||||
inline: false
|
||||
},
|
||||
{
|
||||
name: "Status",
|
||||
value: output || "Container rebuilding...",
|
||||
inline: false
|
||||
}
|
||||
)
|
||||
.setFooter({ text: "Container will restart shortly" })
|
||||
.setTimestamp();
|
||||
|
||||
return embed;
|
||||
}
|
||||
|
||||
export function getDeployNoChangesEmbed(currentCommit: string) {
|
||||
return createSuccessEmbed(
|
||||
`Already running the latest version.\n\n**Current:** \`${currentCommit}\``,
|
||||
"✅ Up to Date"
|
||||
);
|
||||
}
|
||||
|
||||
export function getDeployErrorEmbed(error: string) {
|
||||
return createErrorEmbed(
|
||||
`Deployment failed:\n\`\`\`\n${truncate(error, 500)}\n\`\`\``,
|
||||
"❌ Deploy Failed"
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user