Jump to: navigation, search

Difference between revisions of "Hudson-ci/features/Team Concept"

Line 3: Line 3:
 
The tasks are<br>  
 
The tasks are<br>  
  
Implement the concept of System admin and team admin
+
Implement the concept of System admin and team admin  
  
 
*System admin are responsible for
 
*System admin are responsible for
  
#Setting up team and adding a team admin
+
#Setting up team and adding a team admin  
#Hudson wide Authentication
+
#Hudson wide Authentication  
#Other higher level administration like installing plugin
+
#Other higher level administration like installing plugin  
#Assign public jobs (with no associated teams) to specific teams
+
#Assign public jobs (with no associated teams) to specific teams  
#Every hudson will have at least System admin
+
#Every hudson will have at least System admin  
#Team admin has less power
+
#Team admin has less power  
#Every team will have at least one team admin
+
#Every team will have at least one team admin  
#Add and remove team members
+
#Add and remove team members  
#Authorize user permission such as which member can edit job, delete job etc
+
#Authorize user permission such as which member can edit job, delete job etc  
#Team member
+
#Team member  
#Can create and configure job if team admin admits
+
#Can create and configure job if team admin admits  
#Can set a job as public so that other teams can see it
+
#Can set a job as public so that other teams can see it  
#Can delete any job if team admin admits or only delete the self created job
+
#Can delete any job if team admin admits or only delete the self created job  
#Can delete any job builds if team admin admits or only delete the self created job builds
+
#Can delete any job builds if team admin admits or only delete the self created job builds  
 
#Can run any team job and public job
 
#Can run any team job and public job
  
 
*Implement Permisson Scheme
 
*Implement Permisson Scheme
  
#System Admin Permission
+
#System Admin Permission  
#Team Admin Permission
+
#Team Admin Permission  
 
#Team Member Permission
 
#Team Member Permission
  
 
*Implement the concept of Groups
 
*Implement the concept of Groups
  
#group can have any user as member
+
#group can have any user as member  
#Any group can be assigned with certain permission
+
#Any group can be assigned with certain permission  
 
#(Ex. system-admin group can be assigned with System Admin permission )
 
#(Ex. system-admin group can be assigned with System Admin permission )
  
 
*Implement the concept of job permission
 
*Implement the concept of job permission
  
#Global jobs - any one can view
+
#Global jobs - any one can view  
#Team jobs
+
#Team jobs  
#Only team members can view team private jobs
+
#Only team members can view team private jobs  
#Only certain team members can manually run
+
#Only certain team members can manually run  
#Only certain team members can edit configuration
+
#Only certain team members can edit configuration  
#Only certain team members can delete job
+
#Only certain team members can delete job  
 
#Only certain team members can delete job build
 
#Only certain team members can delete job build
  
 
*Implement project view based on team authorization
 
*Implement project view based on team authorization
  
#Particular team can only view their jobs and any public jobs
+
#Particular team can only view their jobs and any public jobs  
#Anonymous users can view jobs only allowed to view as public<br><br>
+
#Anonymous users can view jobs only allowed to view as public
 +
 
 +
=== Capabilities ===
 +
 
 +
{| width="800" border="1" cellpadding="1" cellspacing="1"
 +
|-
 +
| Capability
 +
| System Admin
 +
| Team Admin
 +
| Team Member
 +
|-
 +
| See team job
 +
| All
 +
| Team
 +
| Team
 +
|-
 +
| Create team job
 +
| All
 +
| Team
 +
| &lt;Team&gt;
 +
|-
 +
| Delete team job
 +
| All
 +
| Team
 +
| Self-created or &lt;Team&gt;
 +
|-
 +
| Configure team job
 +
| All
 +
| Team
 +
| Self-created or &lt;Team&gt;
 +
|-
 +
| Run team job
 +
| All
 +
| Team
 +
| Self-created or &lt;Team&gt;
 +
|-
 +
| Set team job public
 +
| All
 +
| Team
 +
| &lt;Team&gt;
 +
|}

Revision as of 23:03, 15 February 2013

The idea is to implement the concept of team so that several authentication and authorization can be assigned to that team. This helps multiple software project teams can use a single Hudson, but each team won't mess with other teams jobs

The tasks are

Implement the concept of System admin and team admin

  • System admin are responsible for
  1. Setting up team and adding a team admin
  2. Hudson wide Authentication
  3. Other higher level administration like installing plugin
  4. Assign public jobs (with no associated teams) to specific teams
  5. Every hudson will have at least System admin
  6. Team admin has less power
  7. Every team will have at least one team admin
  8. Add and remove team members
  9. Authorize user permission such as which member can edit job, delete job etc
  10. Team member
  11. Can create and configure job if team admin admits
  12. Can set a job as public so that other teams can see it
  13. Can delete any job if team admin admits or only delete the self created job
  14. Can delete any job builds if team admin admits or only delete the self created job builds
  15. Can run any team job and public job
  • Implement Permisson Scheme
  1. System Admin Permission
  2. Team Admin Permission
  3. Team Member Permission
  • Implement the concept of Groups
  1. group can have any user as member
  2. Any group can be assigned with certain permission
  3. (Ex. system-admin group can be assigned with System Admin permission )
  • Implement the concept of job permission
  1. Global jobs - any one can view
  2. Team jobs
  3. Only team members can view team private jobs
  4. Only certain team members can manually run
  5. Only certain team members can edit configuration
  6. Only certain team members can delete job
  7. Only certain team members can delete job build
  • Implement project view based on team authorization
  1. Particular team can only view their jobs and any public jobs
  2. Anonymous users can view jobs only allowed to view as public

Capabilities

Capability System Admin Team Admin Team Member
See team job All Team Team
Create team job All Team <Team>
Delete team job All Team Self-created or <Team>
Configure team job All Team Self-created or <Team>
Run team job All Team Self-created or <Team>
Set team job public All Team <Team>