mirror of
https://github.com/Febbweiss/ProjectDeployer.git
synced 2026-03-04 22:25:38 +00:00
Feature: add deployment + deployment logs
This commit is contained in:
@@ -2,30 +2,65 @@ Deployments = new Mongo.Collection('deployments');
|
||||
|
||||
DeploymentService = {
|
||||
get: function(id) {
|
||||
return Deployments.find({_id: id}, {date: 1});
|
||||
return Deployments.findOne({_id: id});
|
||||
},
|
||||
|
||||
appendLog: function(id, data, error) {
|
||||
var deployment = DeploymentService.get(id),
|
||||
project = ProjectService.get(deployment.project_id);
|
||||
|
||||
Deployments.update({ _id: id },{ $push: {
|
||||
output: {
|
||||
timestamp : new Date().getTime(),
|
||||
data : data
|
||||
data : data.replace(new RegExp(project._id, 'g'), project.label),
|
||||
error: error
|
||||
}
|
||||
}});
|
||||
},
|
||||
create: function(project, callback) {
|
||||
return Deployment.insert({
|
||||
project_id: projet._id,
|
||||
|
||||
create: function(project) {
|
||||
return Deployments.insert({
|
||||
project_id: project._id,
|
||||
timestamp: new Date().getTime(),
|
||||
output: [],
|
||||
status: 'opened'
|
||||
}, function(errors, deploymentId) {
|
||||
JobService.create_repository(deploymentId);
|
||||
});
|
||||
},
|
||||
|
||||
delete: function(projectId) {
|
||||
Deployments.remove({project_id: projectId}, function(errors) {
|
||||
if( !errors ) {
|
||||
JobService.delete_repository({_id: projectId});
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
update: function(projectId) {
|
||||
Deployments.insert({
|
||||
project_id: projectId,
|
||||
timestamp: new Date().getTime(),
|
||||
output: []
|
||||
}, function(errors, deploymentId) {
|
||||
_execSync(cmd, function(data) {
|
||||
DeploymentService.appendLog(deploymentId, data, false);
|
||||
}, function(data) {
|
||||
DeploymentService.appendLog(deploymentId, data, true);
|
||||
});
|
||||
JobService.update_repository(deploymentId);
|
||||
});
|
||||
},
|
||||
},
|
||||
|
||||
update_status: function(id, status, callback) {
|
||||
Deployments.update(
|
||||
id,
|
||||
{ $set: {
|
||||
status: status
|
||||
}
|
||||
},
|
||||
callback
|
||||
);
|
||||
},
|
||||
|
||||
list: function(projectId) {
|
||||
return Deployments.find({project_id: projectId}, {sort: {timestamp: -1}});
|
||||
},
|
||||
|
||||
deploy: function(project) {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user