1. A system for managing a virtual appliance lifecycle, comprising: one or more physical processors programmed to execute one or more computer executable instructions which, when executed, cause the one or more physical processors to: receive a request to create a software appliance, wherein the create request includes information identifying an image format for the software appliance; identify a plurality of software components of the software appliance; identify one or more source repositories containing the plurality of software components; receive, from the one or more source repositories, one or more files corresponding to the plurality of software components; create an image description for the software appliance that identifies the plurality of software components and the one or more source repositories; build, on a first virtual machine, an image of the software appliance, wherein building the image comprises: creating, in a physical extend of a space allocated to the first virtual machine, a file system layout for the image, wherein the file system layout includes a directory structure for the plurality of software components; storing the one or more files to the file system layout in accordance with the directory structure; identifying a conflict between, at least two of the plurality of software components; resolving the conflict by removing one of the at least two of the plurality of software components from the image; and formatting the image of the software appliance in accordance with the image format; and transmit the image over a network to one or more devices configured to execute the image on a second virtual machine.